我需要解析一个字符串,只返回第一个非字母字符前的字母字符。
示例1:
如果文字是 - John 123
预期结果是 - John
示例2:
如果文字是 - Anthony (Manager)
预期结果是 - Anthony
答案 0 :(得分:4)
寻求简单的解决方案,交配:
var str = "Anthony (Manager)";
var res = str.TakeWhile(c => Char.IsLetter(c));
编辑:刚认识到你还需要空格:
var str = "Anthony Hopkins (Actor)";
var res = str.TakeWhile(c => Char.IsLetter(c) || Char.IsWhiteSpace(c));
答案 1 :(得分:0)
到目前为止,似乎一个简单的Regex
可以解决您的问题:
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(@"^[a-zA-Z]+");
string expected = reg.Match(input).Value;
答案 2 :(得分:0)
在空格分隔符上拆分字符串并取第一个元素:
var firstName = myStr.Split().FirstOrDefault();