作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 python 中,我可以在 sub() 中使用替换函数,这在某些情况下非常强大,就像这样:
def replacer(match):
s = match.group(0)
if s.startswith('/'):
return ""
else:
return s
return re.sub(pattern, replacer, text)
如何在 Java 中执行此操作?
最佳答案
在Java中,有一个成语:
Pattern pattern = Pattern.compile(yourPattern);
Matcher matcher = patern.matcher(yourString);
while (matcher.find()) {
String group = matcher.group(0);
// do your if statement
}
从文档中看不出的一个提示 - 如果 yourString 中有特殊(reg exp)字符,使用 matcher.appendReplacement(stringBuffer) 和 matcher.appendTail(stringBuffer) 以避免错误很重要。
关于java - 如何在java中做正则表达式替换函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5215227/
我是一名优秀的程序员,十分优秀!