【问题标题】:Parsing an Extra String to Check For Data解析额外的字符串以检查数据
【发布时间】:2013-06-19 13:27:32
【问题描述】:

我有一个额外的,将作为额外传递给我的服务,我需要检查它是否包含特定数据,但我不确定这是如何完成的,所以我可以帮助我学习如何做到这一点。

额外格式:

USI;1; 0375515651;21/45/37/01/07/14;CN100.757,WN300.545;CO100.554,WO20.747

我正在寻找的值是 USI 之后的 1 - 找出它是否包含 1 或零

【问题讨论】:

  • 您是否总是要检查第二项?或者它是紧随 USI 之后的项目?

标签: java android arrays parsing


【解决方案1】:

这是一个更好的方法

编辑:修复编译问题:)

String str = "USI;1; 0375515651;21/45/37/01/07/14;CN100.757,WN300.545;CO100.554,WO20.747";

String[] carr = str.split(";");

if("1".equals(carr[1])){
 // Do something
}

【讨论】:

  • String[] carr = str.split(";");if("1".equals(carr[1])){/*Do something*/};
【解决方案2】:

经过测试,可以正常工作。

 String text = "USI;0; 0375515651;21/45/37/01/07/14;CN100.757,WN300.545;CO100.554,WO20.747";
        if(text.contains("USI;1;"))
        {
            System.out.println("It contains!");
        }
        else
        {
            System.out.println("There isn't one :(");
        }

【讨论】:

  • 如果 USI 可以更改,这可能不安全。 OP没有指定,但最好安全使用并使用split。
  • 呃,确实如此。我只是假设它
  • US1 实际上并没有改变 - 谢谢大家的帮助! - 阿曼尼·斯旺
【解决方案3】:

只需将您的额外格式放入字符串变量中,如下所示:

String str = "USI;1; 0375515651;21/45/37/01/07/14;CN100.757,WN300.545;CO100.554,WO20.747";
for(int i =0; i < str.length(); i++)
    if(string.charAt(i) == '1'){
     // what ever you want here when it match.
    }

【讨论】:

    【解决方案4】:
    int flag = Integer.parseInt(yourString.split(";")[1]);
    
    if (flag  == 0) {
         //handle it
    }else if (flag ==1){
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-18
      • 2010-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-25
      相关资源
      最近更新 更多