web-dev-qa-db-ja.com

Androidの分割文字列

CurrentStringという文字列があり、この"Fruit: they taste good"のような形式になっています。
:を区切り文字としてCurrentStringを分割したいのですが。
そのようにしてWord "Fruit"はそれ自身の文字列に分割され、"they taste good"は別の文字列になります。
そして、その文字列を表示するために2つの異なるTextViewsSetText()を使いたいのです。

これに取り組むための最善の方法は何でしょうか。

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

2番目の文字列までのスペースを削除することができます。

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
567
Cristian

.splitメソッドは機能しますが、正規表現を使用します。この例では、(Cristianから盗む)ことになります。

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

Androidの分割が正しく機能していません

80
Silas Greenback

Androidの分割文字列、カンマ

String data = "1,Diego Maradona,Footballer,Argentina";
String[] items = data.split(",");
for (String item : items)
{
    System.out.println("item = " + item);
}
47
mahasam
     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();
22
Faakhir

Android固有の TextUtils.split() メソッドも検討する必要があります。

TextUtils.split()とString.split()の違いは、TextUtils.split()で説明されています。

分割する文字列が空の場合、String.split()は['']を返します。これは[]を返します。これは結果から空の文字列を削除しません。

私はこれがより自然な行動だと思います。本質的に、TextUtils.split()はString.split()の単なるラッパーで、空文字列の場合を特に扱います。 メソッドのコード は実際には非常に単純です。

22
gardarh