2016-07-06 146 views
-2

有一个很长的字符串 - “sourceMeaning”,它由从SQLiteDatabase中检索的一些句子组成。我用“&”的句子中分离象下面这样:长串已被检索后不能将一个长的字符串分成几部分

SentenceA&SentenceB&SentenceC ..... 

,字符串将被划分到:

SentenceA 
SentenceB 
SentenceC 
.... 

我使用了一个字符串数组(含义),以存储划分句子和应用以下代码来完成任务,但在执行时,它抛出的StringIndexOutOfBoundsException ...

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; 
    } 
} 

如何划分的仙力量没有错误?

+0

我想你'Meanings'是空的,你在哪里填充它 – Mohit

+0

所以,如果我需要声明一个int数组/字符串数组为了把它的东西,如何初始化数组? –

回答

0

你应该以这种方式分割初始字符串

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

您将在数组中所拥有的一切

+0

谢谢!我已经解决了这个问题。 –

+0

其实我不知道有一个叫split的功能... –

+0

@LuftSchlafer,不客气:)如果你喜欢我的回答,请接受它或至少upvote :)谢谢 – ddb

0

我不知道要完全得到你正在尝试做的,所以我要回答这个问题:

如何将句子划分没有错误?

在Java中使用String类的split方法

Here

2

你可以使用split()然后遍历生成的数组:

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

您可以使用str.split()方法来获取您的字符串数组,如:

String[] Meanings = sourceMeaning.split("&"); 
相关问题