You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript如何移除日/中文日元符号?替换方法失效求助

解决日元符号无法被replace移除的问题

这种情况大概率是字符编码的坑——视觉上看起来一样的日元符号,其实可能是不同的Unicode字符!

你遇到的问题,通常是因为字符串里的符号不是半角的¥(Unicode U+00A5),而是全角的¥(Unicode U+FFE5)。这俩长得几乎一样,但编码完全不同,所以你用半角符号的匹配规则自然找不到它。

快速排查与解决步骤:

  1. 先确认字符的真实编码
    用charCodeAt()获取目标符号的Unicode编码,比如假设符号在字符串第0位:

    const str = '¥999'; // 你的目标字符串
    console.log(str.charCodeAt(0)); // 输出65509就是全角¥,输出165就是半角¥
    
  2. 精准匹配移除

    • 如果是全角¥(U+FFE5),用这个正则:
      str = str.replace(/\uFFE5/g, '');
      
    • 如果是半角¥(U+00A5),用这个:
      str = str.replace(/\u00A5/g, '');
      
    • 保险起见,直接同时匹配两种符号,不管遇到哪种都能移除:
      str = str.replace(/[\u00A5\uFFE5]/g, '');
      

这样不管日元符号在字符串的哪个位置,都能精准检测并移除啦~

内容的提问来源于stack exchange,提问作者Hasen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 07:27:50