正则表达式在第一个空格之后得到一切

时间:2013-04-13 12:12:43

标签: c# regex string

在第一个空格后获取字符串中所有单词的语法是什么?例如,鲍勃漂亮的房子。所以结果应该是没有引用的“好房子”。

([^\s]+)给了我所有3个单独的单词;

,[\s\S]*$ >没有编译。

4 个答案:

答案 0 :(得分:14)

我真的在寻找最短的代码。以下完成了这项工作。谢谢你们

\s(.*)

答案 1 :(得分:5)

我认为应该这样做:

[^ ]* (.*)

它允许0个或多个不是空格的元素,而不是单个空格,并选择在该空格之后的任何内容。

C#用法

var input = "bobs nice house";

var afterSpace = Regex.Match(input, "[^ ]* (.*)").Groups[1].Value;

afterSpace"nice house"

要在结果字符串中将第一个空格更改为[^ ]*( .*)

没有正则表达式解决方案

var afterSpace = input.Substring(input.IndexOf(' '));

答案 2 :(得分:2)

使用/(?<=\s).*/g在第一个空格后查找字符串。运行代码段检查

str="first second third forth fifth";
str=str.match(/(?<=\s).*/g)
console.log(str);

答案 3 :(得分:1)

实际上,您不需要为该过程使用正则表达式。你只需要像这样使用String.Split()方法;

string s = "bobs nice house";
string[] s1 = s.Split(' ');
for(int i = 1; i < s1.Length; i++)
    Console.WriteLine(s1[i]);

输出将是;

nice
house

这是DEMO