【问题标题】:Android - How to check the existence of a string value in another comma separated stringAndroid - 如何检查另一个逗号分隔字符串中的字符串值是否存在
【发布时间】:2014-05-06 20:39:25
【问题描述】:

Android - 如何检查另一个逗号分隔字符串中的字符串值是否存在。

 String all_vals  = "617,618,456,1,234,5,5678,225";
 String check_val= "456";

如何查看,

 if (all_vals contains check_val) { 

 }

【问题讨论】:

    标签: java android string arraylist


    【解决方案1】:

    使用split 将逗号分隔的字符串转换为数组,然后使用Arrays.asList 将其转换为List,然后使用contains

    String all_vals = "617,618,456,1,234,5,5678,225";
    List<String> list = Arrays.asList(all_vals.split(","));
    if (list.contains(check_val)) {
    
    }
    

    这将防止误报只检查列表中是否存在带有contains 的子字符串直接在字符串all_vals 上,例如all_vals.contains("4") 将在直接 String#contains 情况下返回 true

    【讨论】:

    • 谢谢!!!!!!!我想给 +1 。但是对不起,我没有足够的声誉。非常感谢:)
    • @EldhoNewAge 如果它适合您,您可能希望接受答案。
    • 作为提问者,或“OP”(原始发帖人),您可以“接受”您认为对您最有帮助的任何一个答案。一旦你到达15 reputation,你就可以投票了。
    • 但我只有 6 个声誉 :(。这是我的新帐户
    • 发布问题 15 分钟后,无论声誉如何,您都应该能够点击您想要“接受”的答案旁边的绿色复选标记。
    【解决方案2】:

    Java 8:

    String all_vals  = "617,618,456,1,234,5,5678,225";
    String check_val= "5678";
    Arrays.stream(all_vals.split(",")).anyMatch(check_val:: equals)
    if(Arrays.stream(all_vals.split(",")).anyMatch(check_val:: equals)){
        System.out.println("The value is present");
     }
    

    【讨论】:

      【解决方案3】:
          String all_vals  = "617,618,456,1,234,5,5678,225";
          String check_val= "5678";
          int place = 1;
      
          String[] strings = all_vals.split(",");
          for (String str : strings) {
              if(str.equals(check_val))
              {
                  System.out.println("We have string in all_val on place: " + place);
              }
              place++;
          }
      

      【讨论】:

        【解决方案4】:
        String all_vals  = "617,618,456,1,234,5,5678,225";  
        String check_val= "456";
        
        if (all_vals.startsWith(check_val) || 
            all_vals.endsWith(check_val) || 
            all_vals.contains("," + check_val + ","))
        {
            System.out.println("value found in string");
        }
        

        【讨论】:

        • 为什么只在contains的情况下检查逗号? check_val 之前的endsWithcheck_val 之后的startsWich 不应该是逗号吗?
        • 如果check_val= "25";会失败
        猜你喜欢
        • 2018-06-26
        • 2012-11-12
        • 2021-09-15
        • 2020-09-12
        • 2021-07-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多