如何更改字符串中分隔两种货币的逗号?

Posted

技术标签:

【中文标题】如何更改字符串中分隔两种货币的逗号?【英文标题】:How can I change the comma separating two currencies in a string? 【发布时间】:2022-01-22 10:20:00 【问题描述】:

如果我有一个字符串值: 让 x = '$2,500,$3,500'

javascript 中最好的返回方式是什么

x = '$2,500|$3,500'

给用户?

我尝试过使用一些正则表达式,但不确定如何捕获或忽略 $ 和 , 之间的数值

我觉得必须有一种我想念的简单方法。如果您需要更多详细信息,请告诉我,并提前致谢。

【问题讨论】:

您应该真正修复该字符串的来源。用逗号表示两种不同的事物听起来很糟糕。 【参考方案1】:

使用非单词边界\B

 let result = str.replace(/,\B/g, '|');

匹配\W 字符类的两个字符(包含,$)。请注意,它也匹配 \w 类的两个字符。

【讨论】:

【参考方案2】:

您可以向前看并替换逗号,后跟美元符号。

const
    replace = string => string.replace(/,(?=\$)/g, '|'),
    string = '$2,500,$3,500';

console.log(replace(string));

【讨论】:

【参考方案3】:

没有正则表达式的解决方案:

x = '$2,500,$3,500'
let res = x.replace(",$", "|$");
console.log(res)

如果你有多个值:

x = '$2,500,$3,500,$123,456'
let res = x.replaceAll(",$", "|$");
console.log(res)

【讨论】:

以上是关于如何更改字符串中分隔两种货币的逗号?的主要内容,如果未能解决你的问题,请参考以下文章

无法解析逗号分隔的字符串数量。最初带有货币符号

mysql提取json货币逗号excel转换

如何在 WPF Datagrid 中动态更改字符串货币格式

数据格式化数字货币加逗号隔开

python中分割字符串

MySQL:每隔两行更新一次字符串