Java me J2ME中的分裂字符串逻辑
我正在开发一个J2ME应用程序 我想在Java me J2ME中的分裂字符串逻辑,java-me,Java Me,我正在开发一个J2ME应用程序 我想在“”&逗号处拆分以下字符串: 3,toothpaste,2<br>4,toothbrush,3 3,牙膏,24,牙刷,3 如何执行此操作?私有字符串[]拆分(字符串原始,字符串分隔符){ private String[] split(String original,String separator) { Vector nodes = new Vector(); // Parse nodes into vector
“
”
&逗号处拆分以下字符串:
3,toothpaste,2<br>4,toothbrush,3
3,牙膏,2
4,牙刷,3
如何执行此操作?私有字符串[]拆分(字符串原始,字符串分隔符){
private String[] split(String original,String separator) {
Vector nodes = new Vector();
// Parse nodes into vector
int index = original.indexOf(separator);
while(index >= 0) {
nodes.addElement( original.substring(0, index) );
original = original.substring(index+separator.length());
index = original.indexOf(separator);
}
// Get the last node
nodes.addElement( original );
// Create split string array
String[] result = new String[ nodes.size() ];
if( nodes.size() > 0 ) {
for(int loop = 0; loop < nodes.size(); loop++)
{
result[loop] = (String)nodes.elementAt(loop);
System.out.println(result[loop]);
}
}
return result;
}
向量节点=新向量();
//将节点解析为向量
int index=original.indexOf(分隔符);
而(索引>=0){
nodes.addElement(原始子字符串(0,索引));
original=original.substring(索引+分隔符.length());
索引=原始索引(分隔符);
}
//获取最后一个节点
节点。附录(原件);
//创建分割字符串数组
String[]结果=新字符串[nodes.size()];
如果(nodes.size()>0){
for(int-loop=0;loop
上面的方法将允许您围绕传递的分隔符拆分字符串,非常类似于J2EE的string.split()。因此,首先拆分换行标记上的字符串,然后在逗号返回数组的每个偏移处进行拆分。
e、 g
String[]line=this.split(myString,
);
对于(int i=0;i
私有字符串[]拆分(字符串原始、字符串分隔符、整数计数)
{
字符串[]结果;
int index=original.indexOf(分隔符);
如果(索引>=0)
结果=拆分(原始.substring(index+separator.length()),分隔符,计数+1);
其他的
{
结果=新字符串[计数+1];
index=original.length();
}
结果[计数]=原始.子字符串(0,索引);
返回结果;
}
String[]line=this.split(myString,
,0);
很抱歉,这两条记录之间有一个br标记。我修复了格式设置,因此很明显。您只需使用
StringTokenizer
类应为://如果(!“”.equals(original_元素)){nodes.addElement(original_元素);},则获取最后一个节点。
为什么要还原我的编辑?有一个bug-我使用您的代码遇到它-如果字符串的形式为
,结果将是[,“”]
-请更正!
String[] lines = this.split(myString,"<br>");
for(int i = 0; i < lines.length; i++)
{
String[] splitStr = this.split(lines[i],",");
System.out.println(splitStr[0] + " " + splitStr[1] + " " + splitStr[2]);
}
private String[] split(String original, String separator, int count)
{
String[] result;
int index = original.indexOf(separator);
if(index >= 0)
result = split(original.substring(index + separator.length()), separator, count + 1);
else
{
result = new String[count + 1];
index = original.length();
}
result[count] = original.substring(0, index);
return result;
}
String[] lines = this.split(myString,"<br>",0);