2016-02-08 25 views
-5

我應該如何使用StringTokenizer以便當分隔符連續出現幾次時,StringTokenizer會將它們之間的空白識別爲空字符串並打印空行?如何正確使用StringTokenizer

另外,我怎樣才能使用String.split()方法,需要幾個字符作爲分隔符,並做同樣的工作?

例如字符串"abcd;,;ef,,gh"應打印爲:

abcd 
# empty line here 
# empty line here 
ef 
# empty line here 
gh 
+0

你能提供你使用的代碼不工作嗎? –

+0

@Charles Caldwell StringTokenizer tok = new StringTokenizer(s,「。,;」); while(tok.hasMoreTokens()) { stringCount ++; } – Geek

+0

看看這個SO回答會幫助你。它使用'split'來代替,但至少可以完成工作。 http://stackoverflow.com/questions/12395862/tokenising-a-string-containing-empty-tokens –

回答

0

根據你輸入

"abcd;,;ef,,gh" 

輸出:

abcd 
# empty line here 
# empty line here 
ef 
# empty line here 
gh 

爲什麼只有2個 「空在這裏行」 ,當時有;,; ?

也許你可以用空格替換所有的「分界符」,標記爲 然後用foreach打印每個字符串,並在循環內打印一個空格或「空行在這裏」?

+0

I希望這些字符之間的空白空間被視爲一個字符串。我很困惑,不知道如何使用標記器和分割。 – Geek

+0

您可以使用正則表達式,用空格替換所有非字母字符,然後執行標記器。 –