de-vraag
  • Klausimai
  • Žymos
  • Vartotojai
Pranešimai
Apdovanojimai
Registracija
Užsiregistravę gausite pranešimus apie atsakymus ir komentarus į savo klausimus.
Prisijungti
Jei jau turite paskyrą, prisijunkite ir patikrinkite naujus pranešimus.
Už pridėtus klausimus, atsakymus ir komentarus bus skiriami apdovanojimai.
Daugiau
Šaltinis
Redaguoti
 mcjabberz
mcjabberz
Question

Kaip suskaidyti eilutę, kurioje kaip skiriamieji ženklai naudojami baltieji simboliai?

Kokį regex šabloną reikia perduoti java.lang.String.split() metodui, kad suskaidytumėte eilutę į masyvo posistemių masyvą, naudodami visus baltuosius simbolius (' ' ', '\t', '\n' ir t. t.) kaip skirtukus?

538 2008-10-22T11:27:17+00:00 3
 JNYRanger
JNYRanger
Redaguotas klausimas popietr gegužė 2015 в 3:18
Programavimas
java
string
whitespace
split
Šis klausimas turi 1 atsakymas atsakymų anglų kalba, norėdami juos perskaityti prisijunkite prie savo paskyros.
Solution / Answer
Henrik Paul
Henrik Paul
priešpietr spalis 2008 в 11:31
2008-10-22T11:31:11+00:00
Daugiau
Šaltinis
Redaguoti
#8584399

Kažkas panašaus į

myString.split("\\s+");

Taip visi baltieji tarpai grupuojami kaip skirtukas.

Taigi, jei turiu eilutę:

"Sveiki[tarpas][skirtukas]Pasaulis"

Tai turėtų duoti eilutes "Hello" ir "World" ir praleisti tuščią tarpą tarp [space] ir [tab].

Kaip nurodė VonC, atgalinis pasvirasis brūkšnys turėtų būti išskirtas, nes "Java" pirmiausia bandytų išvesti eilutę į specialųjį simbolį ir siųstų jį apdoroti. Jūs norite gauti tiesioginį "\s", o tai reiškia, kad reikia perduoti "\\s". Tai gali būti šiek tiek painu.

\\\s atitinka [ \\t\n\x0B\f\r]

Henrik Paul
Henrik Paul
Redaguotas atsakymas popietr kovas 2015 в 7:09
935
0
 glenatron
glenatron
priešpietr spalis 2008 в 11:30
2008-10-22T11:30:37+00:00
Daugiau
Šaltinis
Redaguoti
#8584398

Daugumoje regex dialektų yra patogių simbolių santraukų, kurias galima naudoti tokiems dalykams, rinkinys - šias santraukas verta įsiminti:

\w - atitinka bet kurį žodžio simbolį.

\W - atitinka bet kurį ne žodžio simbolį.

\s - Atitinka bet kurį baltosios vietos simbolį.

\S - Atitinka bet kokius simbolius, išskyrus baltosios vietos simbolius.

\d - Atitinka bet kurį skaitmenį.

\D - Sutampa su bet kuo, išskyrus skaitmenis.

Ieškodami "Regex Cheatsheets" turėtumėte rasti daugybę naudingų santraukų.

Amit Joki
Amit Joki
Redaguotas atsakymas priešpietr balandis 2015 в 5:19
85
0
 VonC
VonC
priešpietr spalis 2008 в 11:29
2008-10-22T11:29:25+00:00
Daugiau
Šaltinis
Redaguoti
#8584397

"\\s+" turėtų atlikti šį triuką

35
0
Pridėti klausimą
Kategorijos
Visi
Technologijos
Kultūra / poilsis
Gyvenimas / Menai
Mokslas
Profesionalus
Verslas
Vartotojai
Visi
Naujas
Populiarus
1
Roxana Elizabeth CASTILLO Avalos
Registruota prieš 4 dienas
2
Hideo Nakagawa
Registruota prieš 5 dienas
3
Sergiy Tytarenko
Registruota prieš 6 dienas
4
shoxrux azadov
Registruota prieš 1 savaitę
5
Koreets Koreytsev
Registruota prieš 1 savaitę
DA
DE
EL
ES
FR
ID
IT
JA
KO
LT
NL
PT
RU
TR
ZH
© de-vraag 2022
Šaltinis
stackoverflow.com
pagal licenciją cc by-sa 3.0 nurodant autorystę