2011-01-17 5 views
0

C#でregexにいくつか問題があります。私は渡される文字列と文字列として返される文字だけを必要とします。たとえば文字列が "4hr"の場合、 "hr"を返します。文字列が "Gp。23"の場合、 "Gp"を返すだけです。C#Regex Help

私が試してみた:

string[] extractedWords = System.Text.RegularExpressions.Regex.Split(expr, "[a-zA-Z]"); 

しかし、それdoesntのは動作するように見えます。

答えて

4

文字列だけを返す場合は、splitを使うのは悪い考えです。方法:

つまり、「A-Zまたはa-zでないものを空の文字列に置き換える」。 でもは非ASCII文字になることに注意してください。 では、代わりにUnicode文字クラス(「文字」など)を使用したいと考えています。

+0

これはまさにそのやり方です。 – deadlock

+0

パーフェクト。ありがとうジョン。私は本当にこの概念について学んだことがあります。数日後にさらに読書をします。 –

+0

この場合、ASCIIは問題ありませんが、助言をいただきありがとうございます。 –