Fre*_*nes 95 java string if-statement
我有以下if语句:
String newStr4 = strr.split("2012")[0];
if (newStr4.startsWith("Mon")) {
str4.add(newStr4);
}
Run Code Online (Sandbox Code Playgroud)
我希望它包含startsWith Mon Tues Weds Thurs Friday等.使用字符串时有一个简单的方法吗?我试过||但它没用.
hmj*_*mjd 163
你的意思是这样的:
if (newStr4.startsWith("Mon") || newStr4.startsWith("Tues") || ...)
Run Code Online (Sandbox Code Playgroud)
或者您可以使用正则表达式:
if (newStr4.matches("(Mon|Tues|Wed|Thurs|Fri).*"))
Run Code Online (Sandbox Code Playgroud)
Tho*_*mas 44
除了已经提供的解决方案,您还可以使用Apache Commons Lang库:
if(StringUtils.startsWithAny(newStr4, new String[] {"Mon","Tues",...})) {
//whatever
}
Run Code Online (Sandbox Code Playgroud)
dej*_*uth 25
Stream到目前为止没有人提到过,所以这里是:
if (Stream.of("Mon", "Tues", "Wed", "Thurs", "Fri").anyMatch(s -> newStr4.startsWith(s)))
Run Code Online (Sandbox Code Playgroud)
一个简单的解决方案是
if (newStr4.startsWith("Mon") || newStr4.startsWith("Tue") || newStr4.startsWith("Wed"))
// ... you get the idea ...
Run Code Online (Sandbox Code Playgroud)
一个更好的解决方案是:
List<String> days = Arrays.asList("SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT");
String day = newStr4.substring(0, 3).toUpperCase();
if (days.contains(day)) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
小智 5
这样就更简单、更整洁了:
let newStr4 = strr.split("2012")[0];
if (['Mon', 'Tues', 'Weds', 'Thurs', 'Friday'].some(word => newStr4.startsWith(word))) {
str4.add(newStr4);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
155277 次 |
| 最近记录: |