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

使用replace()方法实现数字转*时出错,我哪里操作有误?

问题分析与解决

首先你犯了两个关键错误:

  1. 方法名拼写错误:根本不存在replaces()方法,正确的方法名是replace()。
  2. 普通replace无法批量替换所有数字:如果只是用replace("1", "*")这类写法,只能替换字符串里的单个指定数字,没法一次性把0-9所有数字都换成*。

正确实现方式

方式一:用正则表达式(最简便)

不同语言的写法略有不同,举两个常见场景的例子:

  • JavaScript:
const inputStr = "abc123def45";
const result = inputStr.replace(/\d/g, '*');
// 输出结果:"abc***def**"
  • Python:
import re
input_str = "abc123def45"
result = re.sub(r'\d', '*', input_str)
# 输出结果:"abc***def**"

这里的\d是正则语法中匹配任意数字的元字符,JavaScript里的g标记表示全局匹配,会替换所有符合条件的字符。

方式二:遍历字符逐个判断

如果不想用正则,也可以手动遍历每个字符做判断:

  • Python:
input_str = "abc123def45"
result = ''.join(['*' if c.isdigit() else c for c in input_str])
  • Java:
String inputStr = "abc123def45";
StringBuilder sb = new StringBuilder();
for (char c : inputStr.toCharArray()) {
    if (Character.isDigit(c)) {
        sb.append('*');
    } else {
        sb.append(c);
    }
}
String result = sb.toString();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 14:18:10