gpt4 book ai didi

java - 正则表达式拆分字符串中的 double 和整数

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:13:11 26 4
gpt4 key购买 nike

我需要一个正则表达式来分隔字符串的整数和 double 元素,如下例所示:

String input = "We have the number 10 and 10.3, and i want to split both";
String[] splitted = input.split(/*REGULAR EXPRESSION*/);
for(int i=0;i<splitted.length;i++)
System.out.println("[" + i + "]" + " -> \"" + splitted[i] + "\"");

输出将是:

  • [0] -> “我们有号码”
  • [1] -> "10"
  • [2] -> “和”
  • [3] -> "10.3"
  • [4] -> “,我想把两者分开”

有人可以帮助我吗?我将不胜感激。

最佳答案

您需要将这些 block 匹配:

\D+|\d*\.?\d+

参见 regex demo

详细信息:

  • \D+ - 1 个或多个数字以外的字符
  • | - 或者
  • \d*\.?\d+ - 一个简单的整数或 float (可以增强为 [0-9]*[.]?[0-9]+(? :[eE][-+]?[0-9]+)?,参见 source )

A Java demo :

String s = "We have the number 10 and 10.3, and i want to split both";
Pattern pattern = Pattern.compile("\\D+|\\d*\\.?\\d+");
Matcher matcher = pattern.matcher(s);
List<String> res = new ArrayList<>();
while (matcher.find()){
res.add(matcher.group(0));
}
System.out.println(res);

关于java - 正则表达式拆分字符串中的 double 和整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40758143/

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