如何删除特定范围内的前导和尾随字符(最好使用正则表达式)?
例如,如果我想删除前导和尾随的英文字母:
aa11bb22cc ----> 11bb22
我注意到推荐的 apache commons StringUtils.strip()
实用方法不支持正则表达式输入。例如:
String a = "aa11bb22cc";
a = StringUtils.strip(a, "[a-zA-Z]");
System.out.println(a);
输出:
11bb22cc
ie [a-zA-Z]
被处理为 7 个文字字符的列表。
最佳答案
使用java的String#replaceAll()
用空白替换(即“删除”)目标字符的方法:
str = str.replaceAll("(?i)^[a-z]+|[a-z]+$", "");
正则表达式的意思是“忽略大小写,在开始之后或结束之前立即匹配字母”
关于带有正则表达式的 Java String strip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26962867/