在第一个空格之后获取字符串中所有单词的语法是什么。例如,鲍勃漂亮的房子。所以结果应该是没有引号的“漂亮的房子”。
([^\s]+)
给我所有 3 个单词,由 ; 分隔
,[\s\S]*$ >
不编译。
我真的在寻找最短的代码。以下完成了这项工作。多谢你们
\s(.*)
我认为应该这样做:
[^ ]* (.*)
它允许 0 个或更多不是空格的元素,而不是单个空格,并选择该空格之后的任何内容。
C# 用法
var input = "bobs nice house";
var afterSpace = Regex.Match(input, "[^ ]* (.*)").Groups[1].Value;
afterSpace
是"nice house"
。
要在结果字符串中也获得第一个空格,请将表达式更改为[^ ]*( .*)
没有正则表达式解决方案
var afterSpace = input.Substring(input.IndexOf(' '));
实际上,您不需要为该过程使用正则表达式。你只需要使用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
.
用于/(?<=\s).*/g
在第一个空格后查找字符串。运行代码段检查
str="first second third forth fifth";
str=str.match(/(?<=\s).*/g)
console.log(str);