[英]Split a sentence in array of string with special characters or spaces intact
我想將具有空格或任何特殊字符的句子拆分成具有空格或特殊字符也是數組元素的單詞數組。
句子如下:
aman,amit and sumit went to top-up
應拆分為String數組:
{"aman",",","amit"," ","and"," ","sumit"," ","went"," ","to"," ","top","-","up")
請建議使用Java將任何正則表達式或邏輯拆分為正則表達式。
我錯過了我的問題的一件事。 我還需要對數字字符進行拆分。但是使用split(“ \\ b”)不會拆分具有類似內容的字符串
abc12def
進入
{ "abc", "12","def") or {"abc","1","2","def")
似乎您所需要的只是匹配單詞字符( \\w+
)或非單詞字符( \\W+
)。 將它們與替代運算符結合在一起,並可能添加一個Pattern.UNICODE_CHARACTER_CLASS
(或其內聯/嵌入式版本(?U)
),以使模式可識別Unicode:
String value = "aman,amit and sumit went to top-up";
String pattern = "(?U)\\w+|\\W+";
List<String> lst = new ArrayList<>();
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(value);
while (m.find())
lst.add(m.group(0));
System.out.println(lst);
參見Java演示
希望以下代碼段可以幫助您解決此問題。
public static void main(final String[] args) {
String message = "aman,amit and sumit went to top-up";
String[] messages = message.split("\\b");
for(String string : messages) {
System.out.println(string);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.