Java 无法将长字符串分割为段
有一个长字符串——“sourcemeans”,它由一些从SQLITE数据库检索到的句子组成。我用“&”分隔下列句子:Java 无法将长字符串分割为段,java,android,arrays,Java,Android,Arrays,有一个长字符串——“sourcemeans”,它由一些从SQLITE数据库检索到的句子组成。我用“&”分隔下列句子: SentenceA&SentenceB&SentenceC ..... 检索长字符串后,该字符串将被划分为: SentenceA SentenceB SentenceC .... 我使用一个字符串数组(含义)来存储分割的句子,并应用以下代码来完成任务,但在执行时它会抛出StringIndexOutOfBoundsException String sourc
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;
}
}
stringsourcemeans=c.getString(1);
Log.w(“sourcemeans”,sourcemeans);
字符串[]含义=新字符串[]{};
int j=0;
对于(int i=0;i我不确定是否完全理解您要做的事情,因此我将回答以下问题:
如何正确地划分句子
在Java中使用String类的split方法
您应该以这种方式拆分初始字符串
String sourceMeaning=c.getString(1);
Log.w("SourceMeaning",sourceMeaning);
String[] meanings = sourceMeaning.split("&");
您将拥有该数组中的所有内容您可以使用split()命令,然后遍历生成的数组:
String[] sentences = sourceMeaning.split("&");
for (String sentence: sentences) {
//iterate through each one of the sentences, i.e:
//SentenceA, SentenceB, ....
}
您可以使用str.split()
方法将字符串设置为数组,如下所示:
String[] Meanings = sourceMeaning.split("&");
我想你的意思是是空的,你在填充它,所以如果我需要声明一个int数组/字符串数组来放入一些东西,如何初始化数组?@LuftSchlafer,不客气:)如果你喜欢我的答案,请接受它或至少向上投票:)谢谢还有一个问题:如果我需要构建一个整数数组/字符串数组来存储某些内容,但实际长度未知;那么,如何声明和初始化数组以防止数组越界错误?@LuftSchlafer,提出另一个问题并链接到此处:)@LuftSchlafer,您应该学习一点Java语言:)您可以使用ArrayList或ArrayList?