Saya memiliki pernyataan if berikut:
String newStr4 = strr.split("2012")[0];
if (newStr4.startsWith("Mon")) {
str4.add(newStr4);
}
Saya ingin menyertakannya, startsWith
Mon
Tues
Weds
Thurs
Friday
dll. Apakah ada cara sederhana untuk melakukannya saat menggunakan string? Saya mencoba ||
tetapi tidak berhasil.
java
string
if-statement
FredBones
sumber
sumber
"Mon||Tues"
dll.? Atau apakah Anda menggunakannewStr4.startsWith("Mon")||newStr4.startsWith("Tues") ...
? Apa pun pilihannya, harap jelaskan "tidak berhasil".Jawaban:
Maksudmu ini:
Atau Anda bisa menggunakan ekspresi reguler:
sumber
Selain solusi yang sudah disajikan, Anda dapat menggunakan pustaka Apache Commons Lang:
Pembaruan: pengenalan vararg di beberapa titik membuat panggilan lebih sederhana sekarang:
sumber
Stream
Sejauh ini belum ada yang disebutkan , jadi ini dia:sumber
s -> newStr4.startsWith(s)
dapat diganti dengannewStr7::startsWith
untuk menjadi lebih jelasSolusi sederhana adalah:
Solusi yang lebih menarik adalah:
sumber
Tentu saja, perhatikan bahwa program Anda hanya akan berguna di negara-negara berbahasa Inggris jika Anda mendeteksi tanggal dengan cara ini. Anda mungkin ingin mempertimbangkan:
Dari sana Anda dapat menggunakan .startsWith atau .matches atau metode lain apa pun yang telah disebutkan orang lain di atas. Dengan cara ini Anda mendapatkan lokal default untuk jvm. Anda selalu bisa meneruskan di lokal (dan mungkin default ke lokal sistem jika nol) juga agar lebih kuat.
sumber
Anda perlu menyertakan keseluruhan
str.startsWith(otherStr)
untuk setiap item, karena||
hanya berfungsi dengan ekspresi boolean (benar atau salah).Ada opsi lain jika Anda memiliki banyak hal untuk diperiksa, seperti ekspresi reguler , tetapi ekspresi tersebut cenderung lebih lambat dan ekspresi reguler yang lebih rumit umumnya lebih sulit dibaca.
Contoh ekspresi reguler untuk mendeteksi singkatan nama hari adalah:
sumber
Ketika Anda mengatakan Anda mencoba menggunakan ATAU, bagaimana tepatnya Anda mencoba dan menggunakannya? Dalam kasus Anda, apa yang perlu Anda lakukan adalah seperti ini:
sumber