string str = "ghy saste mater"
如何更换第一个字母每个字从str
字母“W”?如何替换字符串中每个单词的第一个字母?
因此,新的字符串将是:
“为什么废水”
我怎样才能做到这一点?
string str = "ghy saste mater"
如何更换第一个字母每个字从str
字母“W”?如何替换字符串中每个单词的第一个字母?
因此,新的字符串将是:
“为什么废水”
我怎样才能做到这一点?
您可以在字符串分割成一个数组,然后改变它的第一个字符在新的数组的每个元素。
喜欢的东西:
string[] str_array = str.Split(' ');
for (int i = 0; i < str_array.Length; i++) {
str_array[i] = "w" + str_array[i].Substring(1, str_array[i].Length);
}
然后,你将不得不数组变回一个字符串。
你会使用" "
这个分隔符会给你一个字符串数组爆炸string.Split()
您的字符串,然后你可以将整个阵列上循环,并呼吁:这样做的
string.Replace(string[0], 'w')
一个更加令人印象深刻的方式将使用Regex.Replace()
并编写正则表达式来查找空格和字符的组合,然后用空格和w替换该字符串。
something like " a" would be replaced with " w"
这实在是很直截了当,所以我只提供了一些提示。看看我在这里谈到的,你会没事的。
一个巧妙的办法是使用Regex.Replace():
string str = "ghy saste mater";
var strModified = Regex.Replace(str, @"\b\w", "w");
你也可以使用LINQ:
var str = "ghy saste mater"
var strModified = string.Join(" ", str.Split().Select(s => "w" + s.Substring(1, s.Length - 1))));
如果修改字符串很多,可以考虑使用StringBuilder类:
var str = "ghy saste mater"
var strModified = str.Split().Select(s => "w" + s.Substring(1, s.Length - 1)).
Aggregate(new StringBuilder(), (b, s) => b.Append(s + " ")).ToString();
试试这个:
string str = "ghy saste mater";
string[] parts = str.Split(' ');
string result = string.Join(" ", parts.Select(p => "w" + (p.Length > 1 ? p.Substring(1, p.Length - 1) : "")).ToArray());
通过它只是迭代。
string o = "";
o += str[0]
for (int i = 1; i < str.length; i++){
o+=str[i-1] == ' ' ? 'w' : str[i];
}
您能说明一下_word_的定义吗?对于模式匹配,这往往具有非常特殊的含义。 – canon