Javascript如何删除日元/中国日元符号

时间:2019-05-19 12:47:02

标签: javascript regex replace str-replace

不知道为什么这样不起作用,因为我显然可以这样删除其他符号,但是:str = str.replace('¥', '');无法删除有问题的符号¥。任何想法如何删除此东西?

我也尝试过这个str = str.replace(/¥/g, '');和这个str = str.replace(/\¥/g, '');都没用。

很明显,我可以通过敲敲字符串中的第一个字符来删除它,但是我认为必须有一种方法可以真正检测到这个东西,以防万一它不在最前面并且我需要删除它。

3 个答案:

答案 0 :(得分:5)

日元符号有多个Unicode代码点:https://en.wikipedia.org/wiki/Yen_sign

尝试str.replace(/[¥¥]/g, '')

答案 1 :(得分:1)

使用Unicode值替换符号。

¥的Unicode值:00A5 的Unicode值:FFE5

const str = "¥Test String"
str.replace(/\u{00A5}|\u{FFE5}/gu, "Replace ")

答案 2 :(得分:1)

有两个“日元”字符,Unicode Character 'YEN SIGN' (U+00A5)Unicode Character 'FULLWIDTH YEN SIGN' (U+FFE5)

仅匹配并替换它们:

str = str.replace(/[\u00A5\uFFE5]+/g, "")

请参见proof

要删除属于\p{Sc}Symbol, Currency的所有62个货币符号:

str = str.replace(/(?:[\$\xA2-\xA5\u058F\u060B\u07FE\u07FF\u09F2\u09F3\u09FB\u0AF1\u0BF9\u0E3F\u17DB\u20A0-\u20BF\uA838\uFDFC\uFE69\uFF04\uFFE0\uFFE1\uFFE5\uFFE6]|\uD807[\uDFDD-\uDFE0]|\uD838\uDEFF|\uD83B\uDCB0)+/g, "")

请参见another proof