我搜索了很多问题和答案但是,我只是表达了冗长而复杂的表达方式.现在我想替换字符串中的所有空格.我知道它可以通过正则表达式完成.但是,我对正则表达式以及如何使用','(逗号)替换所有空白区域的知识不足.我检查了一些链接但是,我没有得到确切的答案.如果您有任何已发布的问题或答案的链接.请建议我.
我的字符串定义如下.
string sText = "BankMaster AccountNo decimal To varchar";
Run Code Online (Sandbox Code Playgroud)
结果应该如下返回.
"BankMaster,AccountNo,decimal,To,varchar"
Run Code Online (Sandbox Code Playgroud)
完整代码:
string sItems = Clipboard.GetText();
string[] lines = sItems.Split('\n');
for (int iLine =0; iLine<lines.Length;iLine++)
{
string sLine = lines[iLine];
sLine = //CODE TO REPLACE WHITE SPACE WITH ','
string[] cells = sLine.Split(',');
grdGrid.Rows.Add(iLine, cells[0], cells[1], cells[2], cells[4]);
}
Run Code Online (Sandbox Code Playgroud)
额外细节
我在列表中有超过16000行.并且所有行的格式都与上面的给定示例相同.所以,我将使用正则表达式而不是循环和递归函数调用.如果你有任何其他方法使这个过程比正则表达式更快,那么请建议我.
string result = Regex.Replace(sText, "\\s+", ",");
Run Code Online (Sandbox Code Playgroud)
\s+ 代表"捕获任何类型的所有连续空格".
通过空格正则表达式引擎取消了space(), tab (\t),换行符(\n)和插入符号返回(\r)