2013-12-13 16 views
-8

我需要解析一個字符串,並只返回第一個非字母字符之前的字母字符。如何在任何數字或特殊字符之前獲取文本?

實施例1:

如果文本 - John 123

預期的結果是 - John

實施例2:

如果文本 - Anthony (Manager)

預期的結果是 - Anthony

+0

如果您嘗試過的東西,預期的結果是 - 時看到的文字是'john123'代碼 –

+2

會發生什麼? – Sachin

+0

@sachin該結果應該是「John」。 – user1397157

回答

0

到目前爲止,這似乎是一個簡單的Regex將解決你的問題:

 System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(@"^[a-zA-Z]+"); 
     string expected = reg.Match(input).Value; 
0

分割空間分隔符的字符串,採取的第一個元素:

var firstName = myStr.Split().FirstOrDefault(); 
+0

我需要這個空間。例如,如果文本是「堆棧123流」我需要的結果應該是「堆棧」 – user1397157

+0

在這種情況下,使用正則表達式 – AlexH

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)); 
相關問題