- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
public Matcher appendReplacement(StringBuffer sb, String replacement)
这里为什么 appenedReplacement()
方法应该使用 Buffer 对象以及为什么我们不使用输入字符串而不是它?
最佳答案
如果您传递 String
而不是 StringBuffer
并对其执行追加操作,那么要获得结果,您必须重新运行该 String,因为 String 是不可变的,因此对它执行的任何操作都会创建新的字符串,并且调用 appenedReplacement()
的方法会继续引用旧的实际字符串。
StringBuffer
为您提供了在不更改引用的情况下附加字符串的功能。因此,即使您不返回结果 String
,对 StringBuffer 执行的任何操作也会保留。
关于java - 在Matcher类的appendReplacement()方法中使用缓冲区对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21107998/
public class TestUtil { public static void main(String[] args) { StringBuffer test = new
public static void main(String[] args) { Pattern p = Pattern.compile("((?:[a-zA-Z]\\.)+[s]$)
正则表达式中的3组: 模式 = (a)(b)123(c) 我需要摆脱 a,b,c 在 Java 中: while (matcher.find()) { matcher.appendReplacem
我正在使用 Matcher.appendReplacement()在我的替换字符串中有 $2 之前,它工作得很好: Note that backslashes ( \ ) and dollar sig
我正在使用 jdk1.7.0_79 尝试用 Matcher 替换一些文本。我大量使用了 Matcher.appendReplacement() 和 Matcher.appendTail(),当我没有设
java Matcher.appendReplacement() 方法(带有 appendTail())应该可以让我将源文本转换为结果文本,同时替换所有出现的模式。伪语言中的算法类似于: while
我有一个字符串 s 和一个正则表达式。我想用替换字符串替换 s 中正则表达式的每个匹配项。替换字符串可能包含一个或多个反斜杠。为了执行替换,我使用了 Matcher 的 appendReplaceme
这是在 Adroid 4.2.2 上运行的。将正则表达式模式和匹配器与 appendReplacement() 结合使用。它所做的是用一些自定义数据替换从远程源接收的 html 字符串中的一些占位符。
是否有 Matcher.appendReplacement() 和 Matcher.appendTail() 的替代方案,它采用 StringBuilder 而不是 StringBuffer ? 是否
更新 这是我想出的。我还没有测试它,因为它是仍然需要移植的更大代码段的一部分。 你能看到任何看起来不合适的东西吗? private const string tempUserBlock = "%%%C
我是一名优秀的程序员,十分优秀!