用指定字符替换空格的正则表达式是什么?

She*_*ell 3 c# regex

我搜索了很多问题和答案但是,我只是表达了冗长而复杂的表达方式.现在我想替换字符串中的所有空格.我知道它可以通过正则表达式完成.但是,我对正则表达式以及如何使用','(逗号)替换所有空白区域的知识不足.我检查了一些链接但是,我没有得到确切的答案.如果您有任何已发布的问题或答案的链接.请建议我.

我的字符串定义如下.

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行.并且所有行的格式都与上面的给定示例相同.所以,我将使用正则表达式而不是循环和递归函数调用.如果你有任何其他方法使这个过程比正则表达式更快,那么请建议我.

J0H*_*0HN 8

string result = Regex.Replace(sText, "\\s+", ",");
Run Code Online (Sandbox Code Playgroud)

\s+ 代表"捕获任何类型的所有连续空格".

通过空格正则表达式引擎取消了space(), tab (\t),换行符(\n)和插入符号返回(\r)