首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >replaceAll重复字符

replaceAll重复字符
EN

Stack Overflow用户
提问于 2020-06-17 20:05:10
回答 2查看 50关注 0票数 0

出于某种原因,我得到了这个输出

通行证: 12345

港口: 8080

曲奇:找不到

宿主:本地主机

密码: 12345

当我想

通行证: 12345

港口: 8080

曲奇:找不到

宿主:本地主机

密码: 12345

代码语言:javascript
复制
  public static String modifyString(String str) {
    if (str.matches("(.*)=($)")){
        str = str.replace("=", " : not found");
    } else {
        str = str.replace("=", " : ");
    }
    return str;
}

            if (arr[i] != null){
            if (arr[i].contains("pass")) {
                arr[arr.length - 1] = arr[i];
                arr[arr.length -1] = arr[i].replaceAll("pass", "password");
                System.out.println(modifyString(arr[i]));

            } else {
                System.out.println(modifyString(arr[i]));
            }
EN

回答 2

Stack Overflow用户

发布于 2020-06-17 20:16:03

您试图处理字符串“密码”。replaceAll(“pass”、“password”)将“pass”替换为“password”,并保留“word”。因此,结果肯定是“密码”。

票数 0
EN

Stack Overflow用户

发布于 2020-06-18 07:41:35

因为"passwordword". (“pass”,“replaceAll”)与"password“匹配

要解决这个问题,一个简单的解决方案是使用正则表达式:

代码语言:javascript
复制
string.replaceAll("\\bpass\\b", "password");

这将导致它只匹配单词"pass“,而不执行部分匹配。

有关这一点的更多文档可以在Javadocs的模式类中找到,或者有关更多的示例,请参阅本文:

https://howtodoinjava.com/regex/java-regex-specific-contain-word/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62437488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档