Android拆分string

我有一个名为CurrentString的string,其forms类似于"Fruit: they taste good"
我想使用:作为分隔符来分割CurrentString
这样, "Fruit"这个词就会被分成自己的string,而"they taste good"将成为另一个string。
然后,我只想使用2个不同TextViews SetText()来显示该string。

什么是最好的方法来解决这个问题?

 String CurrentString = "Fruit: they taste good"; String[] separated = CurrentString.split(":"); separated[0]; // this will contain "Fruit" separated[1]; // this will contain " they taste good" 

您可能要删除空间到第二个string:

 separated[1] = separated[1].trim(); 

还有其他方法可以做到这一点。 例如,你可以使用StringTokenizer类(来自java.util ):

 StringTokenizer tokens = new StringTokenizer(CurrentString, ":"); String first = tokens.nextToken();// this will contain "Fruit" String second = tokens.nextToken();// this will contain " they taste good" // in the case above I assumed the string has always that syntax (foo: bar) // but you may want to check if there are tokens or not using the hasMoreTokens method 

.split方法将工作,但它使用正则expression式。 在这个例子中,(从克里斯蒂安偷窃):

 String[] separated = CurrentString.split("\\:"); separated[0]; // this will contain "Fruit" separated[1]; // this will contain " they taste good" 

此外,这来自: Android拆分不正常工作

android逗号分隔string

 String data = "1,Diego Maradona,Footballer,Argentina"; String[] items = data.split(","); for (String item : items) { System.out.println("item = " + item); } 
  String s = "having Community Portal|Help Desk|Local Embassy|Reference Desk|Site News"; StringTokenizer st = new StringTokenizer(s, "|"); String community = st.nextToken(); String helpDesk = st.nextToken(); String localEmbassy = st.nextToken(); String referenceDesk = st.nextToken(); String siteNews = st.nextToken(); 

您可能还想考虑Android特定的TextUtils.split()方法。

TextUtils.split()和String.split()之间的区别在TextUtils.split()中有logging:

当要拆分的string为空时,String.split()返回['']。 这返回[]。 这不会从结果中删除任何空string。

我觉得这是一个更自然的行为。 本质上,TextUtils.split()只是String.split()的一个简单包装,专门处理空string的情况。 该方法的代码实际上很简单。