我想用C#
中的短划线替换单词in中的任何空格。但我的问题是当我想要删除样本字符串中的空格时:
"a b"
或
"a b"
当我尝试这个时,我得到了这个结果:
"a--b"
和"a---b"
如何在单词之间添加任何空格?
像这样:
"a b"
"a-b"
答案 0 :(得分:3)
你可以使用如下
string xyz = "1 2 3 4 5";
xyz = string.Join( "-", xyz.Split( new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries ));
参考
答案 1 :(得分:2)
您可以在此处使用Regex.Replace
。
Regex.Replace("a b", @"\s+", "-");
如果按顺序找到一个或多个空格, \ s 会查找空格的space
和 + 计数。该模式将被匹配和替换。
答案 2 :(得分:2)
这可以通过许多方法来完成。使用正则表达式:
string a = "a b c de";
string b = Regex.Replace(a, "\\s+", "-");
或者如果你不想使用正则表达式,这是一个函数,它将取一个字符串并将字符替换为参数并返回格式化的字符串。
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;
}
答案 3 :(得分:0)
您可以将此代码用于您的要求
string tags = "This sample";
string cleanedString = System.Text.RegularExpressions.Regex.Replace(tags, @"\s+", "-");
Response.Write(cleanedString);
结果将是:
"This-sample"
我希望它对你有用。