gpt4 book ai didi

java - 从字符串中提取数字并保留空格

转载 作者:行者123 更新时间:2023-12-01 20:10:48 25 4
gpt4 key购买 nike

给定一个字符串,我想提取数字并在它们之间保留空格。此过程通常涉及删除所有空格,以便 12 3 变为 123,这是我要避免的。

例如,如果输入为 17/(2 + 3)-13,我想要 17 2 3 13

我还有提取运算符和括号之间的方法,但我无法分隔大于 9 的数字。

这是我的尝试,它产生了越界异常

 public static void partition(){
String word = "123 -asdfqwerty- 45";
String kajigger = "";

for(int i = 0; i < word.length(); i++){
char c = word.charAt(i);
if(Character.isDigit(c)){
int j = i;
while(Character.isDigit(word.charAt(j))){
kajigger += word.charAt(j);
j++;
}
}
}
System.out.println(kajigger);
}

在此示例中,我想要输出 123 45

总体思路是通过将所有数字移至左侧并将运算符移至右侧来从中缀转换为后缀。

最佳答案

你走这条路:

  • 将以下所有多个非数字 ( + ) 字符 ( \D ) 替换为单个空格 ( " " )
  • 所以\D+变化7/(2 + 3)-13进入7 2 3 13
<小时/>
String str = "17/(2 + 3)-13";
str = str.replaceAll("\\D+", " ");
System.out.println(str); // 17 2 3 13

Regex demo

关于java - 从字符串中提取数字并保留空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46742925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com