文本.在int后拆分(C#)

本文关键字:拆分 int 文本 | 更新日期: 2023-09-27 18:20:15

如何在C#中拆分此用户输入:

我是20

在字符串数组中获取:

"I am " //=varname[0]
"20" //=varname[1]

可以用RegularExpressions处理它吗?

文本.在int后拆分(C#)

如果你的模式是,总是在最后一个空格和其他空格之前。你可以只使用常规的String方法,比如SubstringLastIndexOf

string s = "I am 20";
Console.WriteLine(s.Substring(0, s.LastIndexOf(" ") + 1)); // I am
Console.WriteLine(s.Substring(s.LastIndexOf(" ") + 1));    // 20

是的,可以通过regex实现。只需根据数字之前存在的零宽度边界来分割输入字符串,并且它必须在空格之后。

(?<= )(?='d+)

代码:

string value = "I am 20";
string[] lines = Regex.Split(value, @"(?<= )(?='d+)");
 foreach (string line in lines) {
Console.WriteLine(line);
}

输出:

I am 
20

IDEONE

(.*?)(?=('d+))

请参阅演示。这适用于

http://regex101.com/r/kX7cS8/1