簡體   English   中英

在Java中解析帶有多個分隔符的字符串

[英]Parsing a string with multiple delimiters in Java

我正在嘗試將字符串加載到數組中,刪除所有空格和標點符號。 問題是,如果我連續有兩個分隔符,它會在數組中留下一個空白。

我有的:

String[] temparray =inputstr.split("\\s+|,|;|\\(|\\)|, ");

例:

inputstr = "I bought bread, eggs, and milk"

它輸出為:

I
bought
bread

eggs

and
milk

任何人都知道如何在逗號加載到數組后保留空格?

您可以使用字符類對所有分隔符進行分組

String[] temparray = inputstr.split("[\\s,;()]+");

您可以使用?將兩個用例組合為“逗號”和“逗號后跟空格” ? 元字符表示“可選”。

我換了,, ? (逗號空間問號)。 這樣,空間就作為分隔符的一部分進行匹配。

//                           space here ---v
String[] temparray = inputstr.split("\\s+|, ?|;|\\(|\\));

打印陣列的每個元素:

I
bought
bread
eggs
and
milk

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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