我正在尝试执行以下操作:
代码前的字符串:
"a"
"aa"
" a"
"a b c"
代码后的字符串:
"{a}"
"{aa}"
"{a}"
"{a} {b} {c}"
我写了以下代码,这样做很好,但我想知道有更好的方法吗?一个班轮或Regex
代码?我对C#Regex
不熟悉。
string[] s = MyString.Split(' ');
string x = "";
foreach (var item in s)
{
if (item.Length > 0)
{
x += String.Format("{{{0}}}", item);
if (s[s.Length-1] != item)
{
x += " ";
}
}
}
return x;
答案 0 :(得分:1)
String.Join(" ",
MyString.Split(new char[]{' '},
StringSplitOptions.RemoveEmptyEntries)
.Select(s => "{" + s + "}"))
答案 1 :(得分:1)
答案 2 :(得分:1)
只需使用以下正则表达式,然后将匹配替换为{$1}
@"\s*(\w+)\s*"
即,
string result = Regex.Replace(inputstring, @"\s*(\w+)\s*", "{$1}");