示例:I/p:";其2 3 4 5n和ita 3 5〃;O/p:2345所以它应该从数字中删除所有空白
我在string.replace((中尝试了几个正则表达式,但都不起作用。请帮助我
我认为这可能有助于
String numbers = str.replaceAll("\D","");
您可以这样尝试。
String yourValue = "its 2 3 4 5 n and ita 3 5";
yourValue = yourValue .replaceAll("[^0-9]", "");
System.out.println(a);
编辑:我刚刚意识到,你的问题也有点令人困惑。在我的例子中,输出将是";234535〃;,这与你在问题中所写的不同。但我认为没有一个可推广的解决方案,如果你真的想要的话,你想切断从n开始的所有东西。
如果你想从字符串中提取所有数值,那么你可以这样做:
String string = "its 2 3 4 5 n and 32.45 it's a 3 5".replace(" ","");
Pattern p = Pattern.compile("-?\d{1,3}(,?\d{2,3})*?\.?\d+|-?\d+(\.\d+)?");
List<String> list = new ArrayList<>();
Matcher m = p.matcher(str);
while (m.find()) {
list.add(m.group());
}
// Display the list contents.
System.out.println(list);
正如您所看到的,此代码可以从字符串中捕获有符号或无符号的Integer或浮点值。
有关正则表达式的解释,请参阅此链接中的工具部分。