我正在开发一个通过 ZXing 读取二维码的应用程序。代码运行完美,但我在干预扫描结果时遇到问题,因为我想从中更改某些单词。考虑扫描结果是这样的:
ID: 1001 Detail: RM9999
如果我想将上面字符串中的“9999”更改为另一个字符串,该怎么办?可以说是
String a1 = 1500
所以预期的结果是
ID: 1001 Detail: RM1500
编辑:
@Bohemian 所以实际的问题是我的二维码实际上显示如下:
ID: 1001
Detail: RM9999
而不是我之前展示的线性线。有什么解决方法吗?
最佳答案
您可以使用lookbehind:
String s = stringFromQr.replaceAll("(?<=: RM)9999", "1500");
这意味着将“: RM”前面出现的所有“9999”替换为“1500”。
编辑,要回复评论,您可以这样做:
String s = stringFromQr.replaceAll("(?<=: RM)" + Pattern.quote(stringToReplace), stringToReplaceWith);
请注意,我使用 Pattern.quote
来转义任何正则表达式效果。
关于java - 替换 ":"之后的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9898904/