【问题标题】:How to remove matched words from string如何从字符串中删除匹配的单词
【发布时间】:2013-02-22 08:30:29
【问题描述】:

假设我有一个字符串,我想检查它是否包含以下单词,那么应该删除匹配的单词。

字是‘PTE’, ‘LTD’, ‘PRIVATE’ and ‘LIMITED’

我想检查两个场景,比如我有没有消息。

String company = "xxx Basit xxx";  //xxx can be ‘PTE’, ‘LTD’, ‘PRIVATE’ and ‘LIMITED’

那么输出应该只是Basit

如果我有这样的字符串:

String company = "xxxBasitxxxMasoodxxx";

那么输出应该是:

BasitMasood

我该怎么做?

谢谢

【问题讨论】:

    标签: java string replace


    【解决方案1】:
    String[] str = {"PTE", "LTD", "PRIVATE", "LIMITED"};
    String company = "PTE      Basit PTE";
    for(int i=0;i<str.length;i++) {
        company = company.replaceAll(str[i], "");
    }
    System.out.println(company.replaceAll("\\s","")); //remove whitespaces
    

    【讨论】:

    • 谢谢,这就是我想要的。非常感谢:)
    【解决方案2】:

    使用String#replaceAll(regex, str)

        String company = "PRIVATE Basit PTE";
        System.out.println(company.replaceAll("PTE|LTD|PRIVATE|LIMITED", ""));
    

    输出:

    基础

    【讨论】:

      【解决方案3】:
      String company = //your string
      company.replaceAll("PTE|LTD|PRIVATE|LIMITED", "");
      

      【讨论】:

      • String.replace(String) 不存在。
      【解决方案4】:

      "PTEBasitLTDMasoodPRIVATE".replaceAll("PTE|LTD|PRIVATE|LIMITED","");

      将导致

      巴斯特马苏德

      【讨论】:

      • 如果我有像PTEBasitLTDMasoodLimited 这样的字符串,那么replaceAll(xxx, "").....? xxx can be four words that i mentioned
      • @Basit 所以你必须为每个单词调用一次。您也可以使用正则表达式 "PTE|LTD|PRIVATE|LIMITED" 而不是“xxx”。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-11
      • 2014-11-21
      • 1970-01-01
      • 1970-01-01
      • 2011-02-02
      相关资源
      最近更新 更多