2014-06-20 53 views
1

這年底擺脫所有元音的是我:一個字符串

word = Regex.Replace(word, @"[aeiouyAEIOUY]\z", String.Empty); 

但我認爲這只是擺脫了最後一個字母(如果它是一個元音)。

所以jrhyui會返回jrhyu而我真的想要返回jrh

回答

4

你很近。 [aeiouyAEIOUY]是一個字符類,它完全匹配一個元音。你想從字符串末尾刪除全部元音,所以匹配一個或多個字符類的實例。您可以通過在末端附加+做到這一點,就像這樣:

[aeiouyAEIOUY]+\z 
      // ^-- match any single character in the list one or more times 

Regex101 Demo

+0

正是我需要的,謝謝! – user2340818

0

小調整到原來的代碼應該這樣做:

word = Regex.Replace(word, @"[aeiouyAEIOUY]*\z", String.Empty); 
0

下面的模式將匹配您的條件:(?i)[aeiou]+(?>$)(?-i)