当前位置: 技术问答>java相关
如何将一个用“;”隔开的字符串分解成一个数组
来源: 互联网 发布时间:2015-01-07
本文导语: 用java如何将任意一个用“;”隔开的字符串如 String str="avb;ads;pa" 分解成一个数组 String[] strs={"avb","ads",pa"} | 看看StringTokenizer这个类吧。 | public class Choice { public Choice...
用java如何将任意一个用“;”隔开的字符串如 String str="avb;ads;pa"
分解成一个数组 String[] strs={"avb","ads",pa"}
分解成一个数组 String[] strs={"avb","ads",pa"}
|
看看StringTokenizer这个类吧。
|
public class Choice {
public Choice() {
}
public static void main(String args[]) {
String choice="a~1^b~2^c~3^";
StringTokenizer st = new StringTokenizer(choice, "^");
while (st.hasMoreTokens()) {
String func = st.nextToken();
StringTokenizer st2=new StringTokenizer(func, "~");
String funcname = st2.nextToken();
String funcid = st2.nextToken();
System.out.print(funcname+" ");
System.out.print(funcid+" ");
}
}
}
这个类详细说明了StringTokenizer的用法
以~和^来分割字符串
public Choice() {
}
public static void main(String args[]) {
String choice="a~1^b~2^c~3^";
StringTokenizer st = new StringTokenizer(choice, "^");
while (st.hasMoreTokens()) {
String func = st.nextToken();
StringTokenizer st2=new StringTokenizer(func, "~");
String funcname = st2.nextToken();
String funcid = st2.nextToken();
System.out.print(funcname+" ");
System.out.print(funcid+" ");
}
}
}
这个类详细说明了StringTokenizer的用法
以~和^来分割字符串
|
String str="avb;ads;pa";
StringTokenizer a=new StringTokenizer(str,";");
int count=e.countTokens();
int i=0;
if (count>0)
{
try{
strs=new String[count];
while(a.hasMoreTokens())
{
String token = a.nextToken();
strs[i]=token;
i++;
}
}
catch(ArrayIndexOutOfBoundsException e){System.out.println("数组越界");}
}
StringTokenizer a=new StringTokenizer(str,";");
int count=e.countTokens();
int i=0;
if (count>0)
{
try{
strs=new String[count];
while(a.hasMoreTokens())
{
String token = a.nextToken();
strs[i]=token;
i++;
}
}
catch(ArrayIndexOutOfBoundsException e){System.out.println("数组越界");}
}
|
public ArrayList split(String source,String splitby){
int i;
ArrayList result = new ArrayList();
while(source.length()>0){
i = source.indexOf(splitby);
if (i==-1){
result.add(source);
return result;
}
result.add(source.substring(0,i));
source = source.substring(i+splitby.length());
}
return result;
}
int i;
ArrayList result = new ArrayList();
while(source.length()>0){
i = source.indexOf(splitby);
if (i==-1){
result.add(source);
return result;
}
result.add(source.substring(0,i));
source = source.substring(i+splitby.length());
}
return result;
}
|
public static int getSeparateCount(String string,String substr){
int returnCount=0;
while (string.length()>0){
int i=string.indexOf(substr);
if(i!=-1) {
returnCount=returnCount+1;
string=string.substring(i+substr.length(),string.length());
}else{
return 0;
}
}
return returnCount;
}
/**获取分割符分割开的字符串个数
* string 为原字符串
* substr为分割符字符串
*/
public static int getStrArrayCount(String source,String separate){
String str_temp=source;
if(str_temp.lastIndexOf(separate)+1!=str_temp.length())str_temp=str_temp.concat(separate);
return getSeparateCount(str_temp,separate);
}
/**把字符串按分割符切换成字符串数组
* string 为原字符串
* substr为分割符字符串
*isSaveDivide为是否在数组中保留分割符
*/
public static String[] getStrings(String source,String separate,boolean isSaveSeparate){
String str_temp=source;
if(str_temp.lastIndexOf(separate)+separate.length()!=str_temp.length())
str_temp=str_temp.concat(separate);
//System.out.println(str_temp);
int separateCount=getStrArrayCount(str_temp,separate);
String[] rtStrings=new String[separateCount];
for(int k=0;k
int returnCount=0;
while (string.length()>0){
int i=string.indexOf(substr);
if(i!=-1) {
returnCount=returnCount+1;
string=string.substring(i+substr.length(),string.length());
}else{
return 0;
}
}
return returnCount;
}
/**获取分割符分割开的字符串个数
* string 为原字符串
* substr为分割符字符串
*/
public static int getStrArrayCount(String source,String separate){
String str_temp=source;
if(str_temp.lastIndexOf(separate)+1!=str_temp.length())str_temp=str_temp.concat(separate);
return getSeparateCount(str_temp,separate);
}
/**把字符串按分割符切换成字符串数组
* string 为原字符串
* substr为分割符字符串
*isSaveDivide为是否在数组中保留分割符
*/
public static String[] getStrings(String source,String separate,boolean isSaveSeparate){
String str_temp=source;
if(str_temp.lastIndexOf(separate)+separate.length()!=str_temp.length())
str_temp=str_temp.concat(separate);
//System.out.println(str_temp);
int separateCount=getStrArrayCount(str_temp,separate);
String[] rtStrings=new String[separateCount];
for(int k=0;k
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
站内导航:
特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!