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