2016-05-12 1 views
1

最後のカンマの後ろにある単語を抽出したいと思います。最後のカンマ(正規表現)の後の文字列を取得する方法は?

Ex。 Los Angeles、California、米国

"USA"のみを抽出する必要があります。

しかし、事実は、文章が3つ以上のカンマを持つ可能性があります。

ネコ、イヌ、ラット、魚、サメ - "シャーク"

私は正規表現で初心者だPS> _ <

+2

なぜ 'string.Split'や' string.LastIndexOf'を使わないのですか? –

+0

実際には、テキスト変換用の正規表現しか受け付けないコンテンツ抽出にソフトウェアを使用しています。 –

答えて

11

を取得する必要があります。次の正規表現試すことができます。

^.*,\s*(.*)$ 

説明:

.* greedily match anything up to 
,  the last comma 
\s* followed by optional whitespace 
(.*) and then capture the last word in the sentence 

Regex101

しかし、もっと良い方法は@PaoloGoの提案に沿ってコンマで文字列を分割することです。

+0

優秀、説明のために+1 –

+0

あなたの説明をありがとう!私はまたそれをコード化する方法も見つけ出し、これを使用しました: '、\ s([^、] +)$' –

+2

@KarlaBascoは '、\ s *([^、] +)$'カンマの後に複数の空白や空白がない場合には、より良い許容を与えるので、 –

関連する問題