从字符串中删除第一个单词

4
我正在寻找一种简单的方法来删除字符串中的第一个单词和其后的空格。
//Before
str = "Hello world";

Something.

//After
str = "World";
3个回答

16

你可以尝试这个:

string word = "Hello World";
if (word.Length > 0)
{
   int i = word.IndexOf(" ")+1;
   string str=word.Substring(i);
   Response.Write(str);
}

1
另一种方法是使用自 C# 8.0 开始引入的范围语法。
string str = "Hello World";

//One line
str = str[(str.Split()[0].Length + 1)..];

//Multiple lines
string firstWord = str.Split()[0];
int charsToSkip = firstWord.Length + 1;
str = str[charsToSkip..];

0

要删除第一个单词,我们需要找到它,使用正则表达式会更加简洁。然后通过子字符串进行删除。

var str = "EXEC STORED_PROC1";
var matchResult = Regex.Match(str, @"^([\w\-]+)");
var firstWord = matchResult.Value; // EXEC
var storedProc = str.Substring(firstWord.Length); // STORED_PROC1

单纯的代码回答通常不被好评。SO 的目的不仅是提供快速解决方案,而且是提供知识。请考虑添加一些关于你的解决方案如何解决所描述问题的解释。 - Franz Gleichmann

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接