簡體   English   中英

用完整的特殊字符或空格將字符串數組中的句子拆分

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM