当前位置: 首页 > 面试题库 >

货币值字符串用逗号分隔

柳飞飙
2023-03-14
问题内容

我有一个字符串,其中包含格式货币值(如)45,890.00和多个值(以逗号分隔)45,890.00,12,345.00,23,765.34,56,908.50

我想提取并处理所有货币值,但无法为此找到正确的正则表达式,这是我尝试过的

public static void main(String[] args) {
    String currencyValues = "45,890.00,12,345.00,23,765.34,56,908.50";
    String regEx = "\\.[0-9]{2}[,]";
    String[] results = currencyValues.split(regEx);
    //System.out.println(Arrays.toString(results));
    for(String res : results) {
        System.out.println(res);
    }
}

输出为:

45,890 //removing the decimals as the reg ex is exclusive
12,345
23,765
56,908.50

有人可以帮我这个吗?


问题答案:

您需要一个正则表达式“向后看” (?<=regex),它匹配但确实消耗:

String regEx = "(?<=\\.[0-9]{2}),";

这是您现在可以使用的测试用例:

public static void main(String[] args) {
    String currencyValues = "45,890.00,12,345.00,23,765.34,56,908.50";
    String regEx = "(?<=\\.[0-9]{2}),"; // Using the regex with the look-behind
    String[] results = currencyValues.split(regEx);
    for (String res : results) {
        System.out.println(res);
    }
}

输出:

45,890.00
12,345.00
23,765.34
56,908.50


 类似资料:
  • 我正在使用下面的PHP片段将数据回显到HTML页面。到目前为止,此操作正常,返回的结果如下例所示:value1、value2、value3、value4、value5, 我的PHP: 蒂姆,非常感谢你在这方面的帮助。

  • 我有一个字符串,我想用逗号爆炸,但前提是逗号没有嵌套在一些括号内。这是一个相当常见的用例,我一直在阅读这个论坛上的回复帖子,但没有真正找到我要找的东西。 所以,具体来说:重点是,我有一个字符串(=SQL SELECT…FROM语句),我想从列表中提取元素,用逗号分隔,用这个字符串编码(=要从中选择的列的名称)。但是,这些元素可以包含方括号,实际上是函数调用。例如,在SQL中,可以这样做 显然,我想

  • 问题内容: 我想在MySQL中将选定的值转换为逗号分隔的字符串。我的初始代码如下: 哪个产生了: 我想要的输出看起来像这样: 问题答案: 检查一下

  • 我有一根下面这样的弦- value1,value2,value3,value4,“value5,1234”,value6,value7,“value8”,value9,“value10,123.23”

  • 问题内容: 我正在使用我给定的语言环境获取自定义货币格式。但是,这始终包含我不需要的货币符号,我只想要给定语言环境的正确货币数字格式而没有货币符号。 做一个抛出一个异常.. 问题答案: 以下作品。这有点丑陋,但可以履行合同: 您还可以从货币格式中获取模式,删除货币符号,然后从新模式中重构新格式:

  • 问题内容: 我需要在数据库中填充纬度和经度列,但是原始信息存储为单个字符串 例如。 我猜想TRIM命令在这里很有用,但是我不知道如何告诉它每半个部分都精确地停在逗号上。 我希望能够提出一个简单的UPDATE查询,如下所示: 但是显然在LTRIM和RTRIM部分中需要做一些额外的工作,因此我只选择数据,但不包括UDFChar1中的逗号。 关于如何实现这一目标的任何想法? 问题答案: 请试试: 和 样