2016-10-27 79 views
3

我如何可以寫一個正則表達式匹配不屬於純粹的字母使用正則表達式

話,然後刪除它們

喬布斯CAR0 PAPERĴ取下一串非話! #$ 4A

,其結果應該是

喬布斯PAPER

我嘗試這樣做,它似乎符合我想保持的話。我怎樣才能寫出相反的呢?

\ B [A-ZA-Z] + \ b

UPDATE:

自身的單個字母是細只是不與非字母混合

+3

'/ \ B [^ AZ] \ B/i' –

+0

「/ [^ A-ZA-Z] /」,這是正則表達式的 –

+0

'\ B [A-ZA-Z] + \ b'也保留'J'。 Marc的建議會導致'JobsCAR0PAPERJ! #$ 4A' –

回答

0

你可以使用LINQ做到這一點!

string words = "Jobs CAR0 PAPER J! #$4A"; 


var result = words.Split(' ').Where(x => x.All(char.IsLetter)); 
var stringResult = String.Join(" ", result); 
+0

哪種方法更高效? – Jasmine

+0

@Jasmine我會選擇linq,因爲它很容易理解和閱讀。最後是個人喜好。對於目前的情況,你不應該打擾效率。 – mybirthname