我需要C#中字符串处理方面的帮助。用C#.NET进行字符串处理
我有字和字符串之间的空白字符串(我有不止一个单词之间的空格,空格是动态的)。 我需要更换与前围空的空间 “ - ”
我有这样的事情:
string stringForManipulation = "word1 word2 word3";
我需要这样的:
"word1-word2-word3"
TNX
我需要C#中字符串处理方面的帮助。用C#.NET进行字符串处理
我有字和字符串之间的空白字符串(我有不止一个单词之间的空格,空格是动态的)。 我需要更换与前围空的空间 “ - ”
我有这样的事情:
string stringForManipulation = "word1 word2 word3";
我需要这样的:
"word1-word2-word3"
TNX
s
装置的空白和+
指一种或多种occurence。
谢谢分配! 干杯。 –
您可以使用正则表达式:
string stringForManipulation = "word1 word2 word3";
string result = Regex.Replace(stringForManipulation, @"\s+", "-");
这会将所有出现的一个或多个空格替换为“ - ”。
对于thoose没有正则表达式的知识,也可以通过简单的实现分裂联接操作:
string wordsWithDashes = stringForManipulation.Split(new []{' '}, StringSplitOptions.RemoveEmptyEntries).Join('-')
它可以...但这是其中正则表达式更好的答案,因为正则表达式解决方案更简单,更易于阅读。 –
我同意正则表达式代码更短,但是有许多人完全是编程新手,并且不了解正则表达式。 – cyberj0g
@ cyberj0g - ...在这种情况下,他们应该明白,正则表达式是一件事情。我不相信你的解决方案更容易理解新编程的人。此外,声明“它可以不用正则表达式”是好的和真实的,但请添加“为什么它应该没有正则表达式”部分。 –
只需使用
string result=Regex.Replace(str , @"\s+", "-")
将取代单个或多个空格单“ - ”
您可以试试以下内容
string stringForManipulation = "word1 word2 word3";
string wordsWithDashes = String.Join(" ", stringForManipulation.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries)).Replace(" ", "-");
创建一个Fiddle
这个问题说“给我codez”。证明你在要求解决方案之前已经尝试了一些东西。 http://stackoverflow.com/help/how-to-ask是一个好的开始。 –