在字符串中间修剪几个字符

本文关键字:几个 字符 字符串 中间 修剪 | 更新日期: 2023-09-27 18:12:58

我有一个客户端/服务器程序,客户端发送[进程ID,主机名,应用程序名称,文件路径]到服务器。现在它们是用一个字符串发送的。我为每个变量

分配了一个唯一的字符
data = "--++" + "  " + "__-_" +processFileName + " " + "--" +processMachinename + " " + ".." + processID + " " + "_--_" + processPath;

,输出将是(示例如下)

--++  __-_Client_PC (Running) - Microsoft Visual C# 2010 Express --UNICORNV-FA15C8 ..4408 _--_C:'Program Files'Microsoft Visual Studio 10.0'Common7'IDE'VCSExpress.exe

我已经尝试过Trim,但它会给我一个错误"对象引用未设置为对象的实例"。

else if (recvDt.Contains("--++"))
{
   string d = "--++";
   recvDt = recvDt.TrimStart(d.ToCharArray());
   this.Invoke(new rcvData(addToOutput));
   if (recvDt.Contains("__-_"))
   {
       string fn = "__-_";
       fileName = recvDt.Trim(fn.ToCharArray());
       this.Invoke(new rcvData(addToGrid));
   }
   if (recvDt.Contains("--"))
   {
        string m = "--";
        machineName = recvDt.Trim(m.ToCharArray());
        this.Invoke(new rcvData(addToGrid));
    }
    if (recvDt.Contains(".."))
    {
        string di = "..";
        processID = recvDt.Trim(di.ToCharArray());
        this.Invoke(new rcvData(addToGrid));
    }
    if (recvDt.Contains("_--_"))
    {
        string p = "_--_";
        filePath = recvDt.Trim(p.ToCharArray());
        this.Invoke(new rcvData(addToGrid));
     }
    }
   }
  Thread.Sleep(1000);
 }
}
public void addToGrid()
{
   if (fileName != null && fileName != "" && machineName != null && machineName != "" && processID != null && processID != "" && filePath != null && filePath != "")
{
   dataGridView1.Rows.Add(fileName, machineName, processID, filePath);
   fileName = null;
   machineName = null;
   processID = null;
   filePath = null;
}

我应该如何删除那些唯一的字符,并在dataGridView中显示它们?

在字符串中间修剪几个字符

您可能需要使用Remove而不是Trim

所以你的代码应该像这样
   if (recvDt.IndexOf("__-_") != -1)
   {
       fileName = recvDt.Remove(recvDt.IndexOf("__-_"));
       this.Invoke(new rcvData(addToGrid));
   }

我想你明白了

我不太明白你为什么要这么做(插入独特的不同字符串来分离项目),但在标题

中回答你的问题

在字符串

中间剪掉几个字符

我要么用

  1. String.Indexof(string)查找您正在搜索的子字符串的索引,并通过从该索引删除到子字符串
  2. 的末尾来创建新字符串。
  3. Regex.Replace(string input, string pattern, string replacement)通过用replacement替换patterninput字符串创建一个新字符串