带有正则表达式的 Java String strip

标签 java regex string trim

如何删除特定范围内的前导和尾随字符(最好使用正则表达式)?

例如,如果我想删除前导和尾随的英文字母:

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/

相关文章:

java - Java 线程类的返回值

php - 第一个和第二个字符的正则表达式规则

javascript - 如何获取属性值的一部分?

string - 使用 KnockOutJs 过滤

java - 通过传递URL参数在Webview中打开页面

java - 手动轮换 log4j 日志文件

java - MASM0001 : Default configuration file jaxws-tubes-default. 未找到 xml

javascript - 正则表达式 javascript 只允许数字、字母和下划线

mysql - 删除与正则表达式匹配的所有行中的某些字符?

string - golang 中的 []string 和 ...string 有什么区别?