将多个非数字字符替换为 1 个非数字字符

Replace multiple non-digit char to 1 non-digit char

我正在开发从称重指示器读取重量值的应用程序。指标的输出包含符号、非数字字符和数字。我只想提取数字。我已经使用正则表达式 \D 将非数字和符号转换为多个管道。然后我想把这个字符串

||||||||||1234||||||||||||||1234||||||||||||||1234||||||||||||||1234||||||||||||||1234||||

进入

|1234|1234|1234|1234

我怎么可能那样做?

您可以尝试使用正则表达式替换:

String input = "||||||||||1234||||||||||||||1234||||||||||||||1234||||||||||||||1234||||||||||||||1234||||";
String output = input.replaceAll("\|+", "|").replaceAll("\|$", "");
System.out.println(output);  // |1234|1234|1234|1234|1234