我在C#中使用正则表达式时遇到一些问题。我需要传入一个字符串,并且只返回要返回的字母(作为字符串),所以例如如果字符串是“4hr”,我希望返回“hr”。如果字符串是“Gp.23”,我只想要返回“Gp”。
我试过了:
string[] extractedWords = System.Text.RegularExpressions.Regex.Split(expr, "[a-zA-Z]");
但这似乎不起作用。
答案 0 :(得分:4)
如果你只想要返回一个字符串,使用split是个坏主意。怎么样:
string filtered = Regex.Replace(expr, "[^A-Za-z]", "");
换句话说,“用空字符串替换不是A-Z或a-z的任何东西”。请注意,这将也剥离非ASCII字母; 可能想要使用Unicode字符类(例如“字母”)。