2016-07-06 10 views
-2

Es gibt eine lange Zeichenfolge - "sourceMeaning", die aus einigen Sätzen besteht, die aus einer SQLiteDatabase abgerufen wurden. Ich verwendete "&", um die Sätze zu trennen, wie unten:Kann eine lange Zeichenfolge nicht in Teile zerlegen

SentenceA&SentenceB&SentenceC ..... 

Nachdem die lange Zeichenfolge abgerufen wurde, wird die Zeichenfolge zu unterteilen:

SentenceA 
SentenceB 
SentenceC 
.... 

I ein String-Array verwendet (Bedeutungen) zu speichern der geteilten Sätze und Anwendung der folgenden Codes, um die Aufgabe zu beenden, aber es wirft StringIndexOutOfBoundsException beim Ausführen ...

String sourceMeaning=c.getString(1); 
Log.w("SourceMeaning",sourceMeaning); 
String[] Meanings=new String[]{}; 
int j=0; 
for (int i=0;i<=sourceMeaning.length();i++){ 
    if (sourceMeaning.charAt(i)!='&'){ 
     Meanings[j]=Meanings[j]+sourceMeaning.charAt(i); 
     Log.w("Translated",Meanings[j]); 
    } else { 
     j+=1; 
    } 
} 

Wie die sen aufzuteilen tences ohne Fehler?

+0

Ich glaube, Sie 'Meanings' leer ist, wo Sie es bevölkern – Mohit

+0

Also, wenn ich ein int-Array deklarieren müssen/string array um etwas hinein zu legen, wie initialisiert man das Array? –

Antwort

0

sollten Sie die erste Zeichenfolge auf diese Weise aufgespalten

String sourceMeaning=c.getString(1); 
Log.w("SourceMeaning",sourceMeaning); 
String[] meanings = sourceMeaning.split("&"); 

Sie alles in diesem Array

haben
+0

Danke! Ich habe das Problem gelöst. –

+0

Eigentlich weiß ich nicht, dass es eine Funktion namens split gibt ... –

+0

@LuftSchlafer, gern geschehen :) wenn dir meine Antwort gefallen hat, bitte akzeptiere sie oder zumindest upvote :) danke – ddb

0

ich bin nicht sicher, völlig zu bekommen, was Sie zu tun versuchen, so bin ich auf diese Frage werde Antwort:

Wie ohne Fehler, die Sätze zu teilen?

Mit der Split-Methode der String-Klasse in Java

Here

2

Sie können die split() verwenden und dann durch das generierte Array iterieren:

String[] sentences = sourceMeaning.split("&"); 
for (String sentence: sentences) {   
    //iterate through each one of the sentences, i.e: 
    //SentenceA, SentenceB, .... 
} 
0

Sie str.split() Methode verwenden, können Sie Ihre String-Array zu erhalten wie:

String[] Meanings = sourceMeaning.split("&"); 
Verwandte Themen