Java Android:检查字符串是否包含数组中的任何值的方法?
我试着搜索“Java检查字符串是否包含数组中的值”和其他变体,但没有找到任何东西,希望有人能帮助我。我有以下代码需要清理: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);
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行解决方案,但这就行了。它救了我,我用这个逻辑构建了我自己的…一个可行的:)它救了我,我用这个逻辑构建了我自己的…一个可行的:)