Apa pola regex perlu saya untuk lolos ke java.lang.String.split()
untuk membagi String menjadi Array substring menggunakan semua karakter spasi ( ' '
, '\t'
,'\n'
, dll) sebagai pembatas?
java
string
whitespace
split
mcjabberz
sumber
sumber
trim()
terlebih dahulu:trim().split("\\s++")
- jika tidak, mis. Membelah `abc` akan memancarkan dua string kosong terlebih dahulu."\\\\s"
?Dalam sebagian besar dialek regex ada satu set ringkasan karakter yang nyaman yang dapat Anda gunakan untuk hal semacam ini - ini adalah yang baik untuk diingat:
\w
- Cocok dengan karakter kata apa pun.\W
- Cocok dengan karakter non-kata.\s
- Cocok dengan karakter spasi-putih.\S
- Cocok dengan apa pun kecuali karakter spasi putih.\d
- Cocok dengan angka apa pun.\D
- Mencocokkan apa pun kecuali angka.Pencarian untuk "Regex Cheatsheets" akan memberi Anda banyak ringkasan yang bermanfaat.
sumber
Agar ini berfungsi dalam Javascript , saya harus melakukan hal berikut:
sumber
"\\ s +" harus melakukan trik
sumber
Anda juga dapat memiliki ruang UniCode ...
sumber
sumber
Apache Commons Lang memiliki metode untuk membagi string dengan karakter spasi sebagai pembatas:
http://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html#split(java.lang.String)
Ini mungkin lebih mudah digunakan daripada pola regex.
sumber
Karena ini adalah ekspresi reguler, dan saya berasumsi kamu juga tidak ingin karakter non-alfanumerik seperti koma, titik, dll yang dapat dikelilingi oleh blank (misalnya "satu, dua" harus memberikan [satu] [dua]), harus:
sumber
Anda dapat membagi string dengan jeda baris dengan menggunakan pernyataan berikut:
Anda dapat membagi string dengan Whitespace dengan menggunakan pernyataan berikut:
sumber
sumber
Pelajari kode ini .. semoga berhasil
sumber