我正在处理关键字模块,其中每个单词以,
结尾并从字符串示例中删除空格如下:
如果字符串是
one man sitting with girl , baby girl , Smiling girl
那么结果应该是
,one man sitting with girl,baby girl,Smiling girl,
我正在尝试这个
string[] strArray = str15.Split(new char[] { ',', ';' });
if (strArray.Length >= 1)
{
foreach (string str3 in strArray)
{
if (str3 != string.Empty)
{
strr1 = strr1 + str3 + ",";
}
}
}
但无法从字符串中删除空格。
答案 0 :(得分:4)
您要做的第一件事是使用Split()
标记字符串。
string input = "some words , not split , in a sensible , way";
string[] sections = input.Split(',');
这为您提供了一个由逗号分隔符分割的字符串数组,如下所示:
"some words "
" not split "
" in a sensible "
" way"
现在你要关掉那些空格。 string
类有一个很小的函数叫Trim()
,它从字符串的开头和结尾删除所有空格字符(空格,制表符等)。
for (int i = 0; i < sections.Length; i++)
sections[i] = sections[i].Trim();
现在你有一个包含这样字符串的数组:
"some words"
"not split"
"in a sensible"
"way"
接下来,您想要使用逗号分隔符将它们连接起来。
string result = string.Join(",", sections);
这为您提供了以下内容:
"some words,not split,in a sensible,way"
最后,您可以在开头和结尾添加逗号:
result = "," + result + ",";
当然,这不是最干净的方法。这只是描述各个步骤的简单方法。您可以使用LINQ扩展将所有这些组合在一起:
string result = "," + string.Join(",", input.Split(',').Select(s => s.Trim())) + ",";
这将获取输入,将其拆分为逗号分隔符,然后对于列表中的每个项目执行lambda表达式s => s.Trim()
,该表达式为每个元素选择字符串的修剪版本。然后将得到的可枚举数据传递回string.Join()
,然后在开头和结尾添加两个逗号。它具有与上述步骤相同的功能,但是它是一行。
答案 1 :(得分:0)
这应该有效:
string test = "one man sitting with girl , baby girl , Smiling girl";
Regex regex = new Regex(@"\s+,\s+");
string result = regex.Replace(test, ",");
答案 2 :(得分:0)
试试这个:
var input = "one man sitting with girl , baby girl , Smiling girl";
var output = string.Join(",", input.Split(',').Select(x => x.Trim()));
output = string.Concat(",", output, ",");
答案 3 :(得分:-1)
Split
你的字符串并通过删除空格来重新加入它:
var input = "one man sitting with girl , baby girl , Smiling girl";
var output = string.Join(",", input.Split(',').Select(x => x.Trim()));
// If you wanna enclose it with commas
output = string.Format(",{0},",output);