删除单词中两个或多个空格
本文关键字:空格 两个 删除 单词中 | 更新日期: 2023-09-27 18:29:59
我想用C#
中的短划线替换单词in中的任何空格。但我的问题是,当我想删除样本字符串中的空间时,如下所示:
"a b"
或
"a b"
当我尝试这个时,我得到的结果是:
CCD_ 2和CCD_ 3
我怎么能用一个破折号来表示单词之间的空格?
像这样:
"a b"
"a-b"
您可以像下面的一样使用
string xyz = "1 2 3 4 5";
xyz = string.Join( "-", xyz.Split( new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries ));
参考
- 如何在C#中用一个空格替换多个空格
- 如何用一个空格替换多个空格
您可以在这里简单地使用Regex.Replace
。
Regex.Replace("a b", @"'s+", "-");
''s查找space
,+计数空间(如果按顺序找到一个或多个空间)。图案将被匹配和替换。
这可以通过多种方法来实现。使用正则表达式:
string a = "a b c de";
string b = Regex.Replace(a, "''s+", "-");
或者,如果你不想使用Regex,这里有一个函数,它将使用一个字符串和要替换的字符作为参数,并返回格式化的字符串。
public string ReplaceWhitespaceWithChar(string input,char ch)
{
string temp = string.Empty;
for (int i = 0; i < input.Length; i++)
{
if (input[i] != ' ')
{
temp += input[i];
}
else if (input[i] == ' ' && input[i + 1] != ' ')
{
temp += ch;
}
}
return temp;
}
您可以将此代码用于您的需求
string tags = "This sample";
string cleanedString = System.Text.RegularExpressions.Regex.Replace(tags, @"'s+", "-");
Response.Write(cleanedString);
结果将是:
"This-sample"
我希望它对你有用。