2015-10-12 114 views
3

如果我有以下Java的等價物Python的str.strip()。split()?

str1 = " Just a test " 
str2 = "    " 

l1 = str1.strip().split() 
l2 = str2.strip().split() 

我會得到

l1 = ["Just", "a", "test"] 
l2 = [] 

我將如何在Java中做到這一點?

+4

的[如何分割的空間字符串](可能的複製http://stackoverflow.com/questions/7899525/how-to-按空間分割) – dazedconfused

+1

如果您從String的javadoc開始,您可以在* less *時間內找到答案,而不是在這裏獲得答案:http://docs.oracle。 com/javase/7/docs/api/java/lang/String.html – Andreas

+0

注意這兩個答案,即每次調用split都編譯一個新的正則表達式對象。爲了提高效率,請提前編譯一次,並將其放置在「private static final」字段中。 –

回答

2

您可以使用Java的trim()split("\\s+") 例如

String str1 = " Just a test "; 
String[] toks = str1.trim().split("\\s+"); 

然後toks["Just", "a", "test"]

2

你可以使用String.trim()String.split(String)(這需要一個正則表達式)。喜歡的東西,

String str1 = " Just a test "; 
String str2 = "    "; 
String[] l1 = str1.trim().split("\\s+"); 
String[] l2 = str2.trim().split("\\s+"); 
System.out.println(Arrays.toString(l1)); 
System.out.println(Arrays.toString(l2)); 

輸出(請求)

[Just, a, test] 
[]