Regex i java för att dela upp strängar med .split()

Permalänk

Regex i java för att dela upp strängar med .split()

Hej

Har gjort ett program som läser in en stor textfil rad för rad och sedan tar varje rad som en sträng och kör

String.split([\\p{Punct}\\s+])

f.ör att på så sätt dela upp strängen i ord. tanken är att jag ska räkna orden och antal förekomst av varje ord. Som det är nu har jag märkt att jag missar en del ord i filen, dvs regex-satsen är inte tillräckligt precis. Alla former av punkter och komman, apostrofer och andra tecken ska bort och även mellanrum(whitespace). Vidare är t ex ord som "can't" två ord: "can" och "t". Det förkommer även många bindestreck och liknande typ av notation.

Kan inte alls mycket om hur man skriver regex och behöver lite hjälp och tips för att förstå hur jag ska kunna formulera ett bättre uttryck.

tack!

Permalänk

Kolla javadoc för java.util.regex.Pattern . Där finns allt du kan behöva. Du kanske ska tänka tvärtom mot vad du gör nu? Vad ska man inte splitta på?

Visa signatur

The statement below is true.
The statement above is false.

Permalänk

Bra idé, skall undersökas. Tack!