Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:检查字符串是否包含数组中的任何值的方法?_Java_Arrays_String - Fatal编程技术网

Java Android:检查字符串是否包含数组中的任何值的方法?

Java Android:检查字符串是否包含数组中的任何值的方法?,java,arrays,string,Java,Arrays,String,我试着搜索“Java检查字符串是否包含数组中的值”和其他变体,但没有找到任何东西,希望有人能帮助我。我有以下代码需要清理: if (dateint.contains("th")){ dateint=dateint.substring(0, dateint.length()-2); } else if (dateint.contains("st")){ dateint=dateint.substring(0, dateint.length()-2);

我试着搜索“Java检查字符串是否包含数组中的值”和其他变体,但没有找到任何东西,希望有人能帮助我。我有以下代码需要清理:

if (dateint.contains("th")){
        dateint=dateint.substring(0, dateint.length()-2);
    } else if (dateint.contains("st")){
        dateint=dateint.substring(0, dateint.length()-2);
    } else if (dateint.contains("nd")){
        dateint=dateint.substring(0, dateint.length()-2);
    } else if (dateint.contains("rd")){
        dateint=dateint.substring(0, dateint.length()-2);
    }
我想知道我是否可以做如下事情(不是真正的代码,而是用代码思考):

基本上是检查数组中的任何值是否在我的字符串中。我正在尝试使用最少的重新编译代码,使其看起来比丑陋的if/else块更干净,并且不使用for/next循环。这可能是我唯一的选择。

尝试以下方法:

for (String ord : ordinals) {
    if (dateint.contains(ord)) {
        dateint = dateint.substring(0, dateint.length() - 2);
        break;
    }
}
试试这个:

for (String ord : ordinals) {
    if (dateint.contains(ord)) {
        dateint = dateint.substring(0, dateint.length() - 2);
        break;
    }
}

使用
扩展for循环

String[] ordinals = {"th", "st", "nd", "rd"};

for (String ordinal: ordinals) {
    if dateint.contains(ordinal) {
        dateint=dateint.substring(0, dateint.length()-2);
    }
}

使用
扩展for循环

String[] ordinals = {"th", "st", "nd", "rd"};

for (String ordinal: ordinals) {
    if dateint.contains(ordinal) {
        dateint=dateint.substring(0, dateint.length()-2);
    }
}

您可以使用for循环来实现这一点

    for(int i = 0;i < ordinals.length;i++){
      if dateint.contains(ordinals[i]) {
        dateint=dateint.substring(0, dateint.length()-2);
        break;
       }

    }
for(int i=0;i
您可以使用for循环来实现这一点

    for(int i = 0;i < ordinals.length;i++){
      if dateint.contains(ordinals[i]) {
        dateint=dateint.substring(0, dateint.length()-2);
        break;
       }

    }
for(int i=0;i
如果您想使用其他库,Apache StringUtils可以帮助您


如果您想使用其他库,ApacheStringUtils可以帮助您


谢谢,这工作做得很好!感谢所有其他回复的人,他们希望使用内置代码实现1/2行的解决方案,但这样就可以了。谢谢,这非常有效!感谢所有其他回复的人,他们希望使用内置代码的1/2行解决方案,但这就行了。它救了我,我用这个逻辑构建了我自己的…一个可行的:)它救了我,我用这个逻辑构建了我自己的…一个可行的:)