在第一个数字之前拆分字符串

Flo*_* M. 3 c# asp.net string

string test = " Puerto Rico 123 " ;
Run Code Online (Sandbox Code Playgroud)

我只想获得"Puerto Rico".这个想法是,而不是123它可以是任何数字.我怎样才能做到这一点?

Dmi*_*nko 5

我建议使用正则表达式,这在上下文中很容易:[^0-9]*^字符串的开头获取所有非数字字符:

string test = " Puerto Rico 123 ";

string result = Regex.Match(test, @"^[^0-9]*").Value;
Run Code Online (Sandbox Code Playgroud)

Linq是另一个人:

string result = string.Concat(test.TakeWhile(c => c < '0' || c > '9'));
Run Code Online (Sandbox Code Playgroud)

如果你想修剪前导和尾随空格(并"Puerto Rico"作为答案,而不是" Puerto Rico "),只需添加.Trim(),例如:

string result = Regex.Match(test, @"^[^0-9]*").Value.Trim();
Run Code Online (Sandbox Code Playgroud)