检查带有分隔符的字符串

时间:2014-05-20 12:10:35

标签: android split delimiter stringtokenizer

我想拆分从蓝牙中获取的字符串。我正在使用

StringTokenizer  splitStr = new StringTokenizer(readMessage, "\\|");
String numberSpeed = splitStr.nextToken();  //splitStr[0].replaceAll("\\D+","");
String numberTorque = splitStr.nextToken();  //splitStr[1].replaceAll("\\D+","");
numberSpeed = numberSpeed.replaceAll("\\D+","");
numberTorque = numberTorque.replaceAll("\\D+","");

之前是否使用过分裂字符串。 如果我在没有分隔符的情况下获得了已损坏的数据,那么应用程序会在尝试不可能时崩溃。

  • 如何检查是否有分隔符,然后继续拆分或跳过它?

3 个答案:

答案 0 :(得分:1)

您可以通过contains()方法检查字符串中的分隔符

if(str.contains("_your_delimiter")) {   //for safe side convert your delimeter and search string to lower case using method toLowerCase()
     //do your work here
}

答案 1 :(得分:1)

试试这个,我在我的应用中使用它。

String container = numberSpeed ;
String content = "\\D+";
boolean containerContainsContent = StringUtils.containsIgnoreCase(container, content);

如果它有分隔符,它将return true,而false则不会。{/ p>

将其与if statement一起使用。 的离。

if(containerContainsContent){
//split it 
} else {
//skip it
}

答案 2 :(得分:1)

这是来自tokenizer文档的引用:StringTokenizer is a legacy class that is retained for compatibility reasons although its use is discouraged in new code.

尝试改为使用String.split()

if(str.contains(DEILIMITER)) {
     String tab[] = str.split(DEILIMITER);
    //enter code here

}