最初と最後の文字を除いて、文字列からすべての母音を削除しようとしています。2 つの式と 2 つの方法を使用してみましたが、無駄でした。以下にそれらを説明しました。誰かがこれの正規表現を持っていますか?
例えば
元の文字列 -- source = apeaple
正規表現の後 -- source_modified = apple (これは予想されることです)
式を試してみました([a-zA-Z])[aeiouAEIOU]([a-zA-Z])
が、この式は繰り返し文字も削除しています。したがって、上記の式を適用すると、次のことが起こります
使用コード --
正規表現 reg = new Regex("([a-zA-Z])[aeiouAEIOU]([a-zA-Z])"); string source_modified = reg.Replace(source, "");
元の文字列 -- source = apeaple
コード実行後 -- source_modified = aple (繰り返し文字を削除)
使用コード -- string source_modified = Regex.Replace(source, "([a-zA-Z])[aeiouAEIOU]([a-zA-Z])", "$1" + "$2");
元の文字列 -- source = apeaple
コード実行後 -- source_modified = apaple (1 つの母音だけが削除されます)
私も試し([a-zA-Z])[aeiouAEIOU]*([a-zA-Z])
ましたが、これはすべてではなく1つの母音だけを削除しています。したがって、上記の式を適用すると、次のことが起こります
使用コード --
正規表現 reg = new Regex("([a-zA-Z])[aeiouAEIOU]*([a-zA-Z])"); string source_modified = reg.Replace(source, "");
元の文字列 -- source = apeaple
コード実行後 -- source_modified = "" (すべての文字が削除されます)
使用コード -- string source_modified = Regex.Replace(source, "([a-zA-Z])[aeiouAEIOU]*([a-zA-Z])", "$1" + "$2");
元の文字列 -- source = apeaple
コード実行後 -- source_modified = apeple