我已经尝试搜索“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/