java - 安卓 : way to check if a string contains any values from array?

标签 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);
    } else if (dateint.contains("nd")){
        dateint=dateint.substring(0, dateint.length()-2);
    } else if (dateint.contains("rd")){
        dateint=dateint.substring(0, dateint.length()-2);
    }

我想知道我是否可以做类似下面的事情(不是真正的代码,而是用代码思考):

String[] ordinals = {"th", "st", "nd", "rd"};
if dateint.contains(ordinals) {
dateint=dateint.substring(0, dateint.length()-2);
}

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

最佳答案

试试这个:

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

关于java - 安卓 : way to check if a string contains any values from array?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7600570/

相关文章:

java.lang.OutOfMemoryError : PermGen space solution 错误

javascript - 有 2 个具有相同 id 的对象数组,但一个对象属性为 true,另一个属性为 false,如果属性为 false,如何删除这两个对象

arrays - Swift:使用二进制搜索在数组中找到最接近的值

c - 如何对两个包含长数字的字符串进行加法?在C中

java - 有没有一种简单的方法可以强制 String.split() 返回具有空字符串元素的数组?

java - SQLite 游标条件出错——需要第二双眼睛

java - 在 Java 中进行 IPC 的最佳方式是什么?

java - unmodifiableList 线程安全吗?

php - Codeigniter:从单列中获取所有值作为数组

.net - 假装 .NET 字符串是值类型