在字符串中间修剪几个字符
本文关键字:几个 字符 字符串 中间 修剪 | 更新日期: 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));
}
我想你明白了
我不太明白你为什么要这么做(插入独特的不同字符串来分离项目),但在标题
中回答你的问题在字符串
中间剪掉几个字符
我要么用
-
String.Indexof(string)
查找您正在搜索的子字符串的索引,并通过从该索引删除到子字符串 的末尾来创建新字符串。 -
Regex.Replace(string input, string pattern, string replacement)
通过用replacement
替换pattern
从input
字符串创建一个新字符串