C#如何替换字符串中的第一个单词

Posted

技术标签:

【中文标题】C#如何替换字符串中的第一个单词【英文标题】:C# How to replace the first word in a string 【发布时间】:2016-05-17 05:29:15 【问题描述】:
string myfather = "Wow, no, Wow";
myfather = myfather.Replace("Wow", "");

//how to make the result ", no, Wow" 

如何使结果“,不,哇”

【问题讨论】:

第一步:将您的标题复制到您的 Google 搜索栏中。第二步:按回车。第三步:看结果。第四步:从 SO 中删除这个问题。 How do I replace the *first instance* of a string in .NET?的可能重复 是只删除第一个单词的单词,还是删除单词的第一个实例。基本上,字符串的内容是“这是一个令人惊叹的时刻,真的是哇” 【参考方案1】:

由于其他两个给出答案的人没有看标题(他说第一个字,而不是“哇”),你可以这样做(但请谷歌它以备将来先找任务,再发到这里):

string myfather = "Wow, no, Wow";
int x = 0;
foreach (char c in myfather)
   if (c == ',' || c == ' ')
       break;
   else
       x++;

myfather = myfather.Substring(x);

【讨论】:

【参考方案2】:

如前所述,但无需定义其他任何内容:

string myfather = "Wow, no, Wow";
myfather=myfather.Remove(0, "Wow".Length);

【讨论】:

与@Felix 回答有什么区别? @guy 这个其实是“有点”效率更高,但是差别基本没有意义 @cFrozenDeath 因为他没有定义string textToReplace = "Wow";?他以硬代码的代价节省了一行代码(与通用代码相反)。我不认为它更有效率。 @guy 不仅是赋值,而且在字符串搜索上,这已经知道删除应该从0开始,另一个可以从任何地方开始,这不是重点。

以上是关于C#如何替换字符串中的第一个单词的主要内容,如果未能解决你的问题,请参考以下文章

用前一个单词的字母反向替换每个单词的第一个字母

sed:查找并替换以特定字符串开头的行中的第 n 个字符

替换 RTF 文件中的字符串时出现问题 - C#

正则表达式用特定格式 C# 替换整个单词

替换文件中的第 N 个字符串匹配项

如何确保 replaceAll 将替换整个单词而不是子字符串