假设我有一个字符串如下:
User.
This is first line after line break.
This is second line after line break.
//Blank Line
This is fourth line.
如何获取第一个换行符后出现的所有单词。 所以在上面的例子中我想要检索:
This is first line after line break.
This is second line after line break.
//Blank Line
This is fourth line.
即在“用户”的下一行之后发生的任何事情。
所以基本上字符串将包含以下内容:
User\r\n\r\nThis is first line after line break. //and so on
我目前正在做以下事情:
// consider demoString is the string variable which holds the entire string mentioned above
commentStringToSearch = "User";
commentStringIndex = demoString.IndexOf(commentStringToSearch, StringComparison.OrdinalIgnoreCase);
if (commentStringIndex != -1)
{
commentValue = demoString.Substring(commentStringIndex + commentStringToSearch.Length);
}
但是这段代码的问题在于它会在“用户”这个词后面取任何内容,包括第一行的空格。
我的预期输出是从第二行到最后一行中的单词。
如上例所示,我的预期输出是获得以下内容:
This is first line after line break.
This is second line after line break.
//Blank Line
This is fourth line.
(忽略第一行的所有内容并从第二行开始接受任何内容)
提前致谢。
答案 0 :(得分:2)
有一种简单的方法可以做到这一点:
var newText = text.Substring(text.IndexOf(Environment.NewLine) + Environment.NewLine.Length);
答案 1 :(得分:0)
@stuartd的回答解决了我的问题,稍作修改如下:
var newText = text.Substring(text.IndexOf(Environment.NewLine) + Environment.NewLine.Length +2);
添加2的原因是因为使用@stuartd的解决方案,字符串变量将包含以下值:
\r\nThis is first line after line break. //and so on
由于有一个不需要的 \ r \ n从原始字符串中继承,因此需要添加2以使子字符串跳过它们,否则会添加一个不必要的空白刺痛价值的开始。
正如 @Fildor 正确指出的那样,必须先验证字符串的空值等。