我需要解析一個字符串,並只返回第一個非字母字符之前的字母字符。如何在任何數字或特殊字符之前獲取文本?
實施例1:
如果文本 - John 123
預期的結果是 - John
實施例2:
如果文本 - Anthony (Manager)
預期的結果是 - Anthony
我需要解析一個字符串,並只返回第一個非字母字符之前的字母字符。如何在任何數字或特殊字符之前獲取文本?
實施例1:
如果文本 - John 123
預期的結果是 - John
實施例2:
如果文本 - Anthony (Manager)
預期的結果是 - Anthony
到目前爲止,這似乎是一個簡單的Regex
將解決你的問題:
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(@"^[a-zA-Z]+");
string expected = reg.Match(input).Value;
分割空間分隔符的字符串,採取的第一個元素:
var firstName = myStr.Split().FirstOrDefault();
我需要這個空間。例如,如果文本是「堆棧123流」我需要的結果應該是「堆棧」 – user1397157
在這種情況下,使用正則表達式 – AlexH
。去簡單的解決方案,配對:
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));
如果您嘗試過的東西,預期的結果是 - 時看到的文字是'john123'代碼 –
會發生什麼? – Sachin
@sachin該結果應該是「John」。 – user1397157