2014-04-05 66 views
0

我試圖拆分String通過.爲什麼在按點分割字符串後會得到空格?

String sentences[] = fileContent.split("."); 

fileContent是包含一個文件的完整文本數據的字符串。在文件中,有4個句子由空格分隔。

當我打印sentences[n]它給出了blank。爲什麼會這樣時sentences.length打印95

數據在fileContent結構的樣子:(沒有意思的文字)

My name is suhail. His name is suhail. 

He was playing with suhail. He is cool and loves suhail. 

回答

3

你必須逃生點字符,因爲split()需要一個正則表達式(正則表達式),不是一個純字符串:

String sentences[] = fileContent.split("\\."); 
+0

要得到一個令牌'玫瑰i是一朵花',我會把它說成:'split(「\\」)'? –

+0

不可以。您必須對點進行修飾,因爲它在正則表達式中表示*特殊字符*。如果你想分割一個空格,使用'split(「」)'。如果你想分割*任何空格*你可以使用split(「\\ s +」)'。我會建議你閱讀有關正則表達式,以便了解如何使用它。 – Christian

+0

值得一提的是,一個點在RegEx中有特殊含義 - 這就是爲什麼它需要被轉義 - 而一個空間沒有特殊的含義 - 這就是爲什麼它不需要被轉義。 –