string str = "ghy saste mater"
如何将每个单词中的第一个字母从str
替换为字母“w”?
所以新字符串将是:
“为什么要浪费水”
我怎样才能做到这一点?
答案 0 :(得分:2)
你会使用string.Split()
的分隔符爆炸" "
你的字符串这会给你一个字符串数组,然后你可以遍历整个数组并调用:
string.Replace(string[0], 'w')
更令人印象深刻的方法是使用Regex.Replace()
并编写正则表达式来查找空格和字符的组合,然后用空格和w替换该字符串。
something like " a" would be replaced with " w"
这真的很明确,所以我只提供了一些提示。查看我在这里谈到的内容,你会没事的。
答案 1 :(得分:0)
您可以将字符串拆分为数组,然后更改新数组的每个元素中的第一个字符。
类似的东西:
int indexWin = new ArrayList<String>(teamNameAndLeague.values()).indexOf("name2") + 1;
That returns: 2
然后你必须将数组转回一个字符串。
答案 2 :(得分:0)
一种巧妙的方法是使用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 class:
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();
答案 3 :(得分:0)
试试这个:
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());
答案 4 :(得分:0)
只需迭代它。
string o = "";
o += str[0]
for (int i = 1; i < str.length; i++){
o+=str[i-1] == ' ' ? 'w' : str[i];
}