所以我有一个字符串数组,我想将单词拆分成数字(或十进制数字),保留字符并将它们放入一个数组中.我用积极的眼光来留住其他角色.所以"600克"应该分成{"600","g"},"培根"不应该分成:{"培根"},"1,54克"应该分成{"1,54","g"}
import java.util.Arrays;
class HelloWorld {
public static void main(String[] args) {
String[] Words = {"bacon", "1,54g", "eggs", "600g", "jalapeno.300g"};
for (int i = 0; i < Words.length; i++) {
String[] SplitWord = Words[i].split("(?=\\d+[.,]\\d+|\\d+)");
System.out.println(Words[i]);
System.out.println(Arrays.toString(SplitWord));
}
}
}
输出:
bacon
[bacon]
1,54g
[1,, 5, 4g]
eggs
[eggs]
600
[6, 0, 0]
jalapeno.300g
[jalapeno., 3, 0, 0g]
我认为正则表达式是有问题的,但无法使其他正则表达式正常工作.
"[0-9]+[.,][0-9]+|[0-9]+"