java - 替换 ":"之后的文本

标签 java qr-code

我正在开发一个通过 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/

相关文章:

java - 当我将鼠标移到方法名称上时,使用 @param 标记参数会打印两次

android - 如果不安装第三方应用程序,是否无法在 Android 应用程序中读取 QR 码?

java - 使用 JUnit 测试 void 方法

java - 将年份添加到 Java 日历不起作用

java - 向上导航 - 过渡不会从右向左滑动

camera - 如何制作UWP手机二维码阅读器?

c++ - 除非首先使用 MS Paint 打开/保存文件,否则带有 QRCode 位图的 LoadImage() 失败

java - Android cameraSource.stop() 导致应用程序卡住

qr-code - ZBar vs. zxing - 二维码识别对比

java - 错误 : cannot find symbol in gradle compileTestJava