在JSP中利用Split方法的两种方法
我们经常会把一组字符串拆分开,以符合我们需要,方法一:这里利用temArryStr[0].indexOf("-")再判断下,我感觉没意义。方法二:直接循环出数组中的元素
例如:
public class Test {
public static void main(String[] args) {
System.out.println(UseSplitOne("北京-郑州-武汉-南昌"));
System.out.println(UseSplitTwo("北京-郑州-武汉-南昌"));
}
//方法一:这里利用temArryStr[0].indexOf("-")再判断下,我感觉没意义
public static String UseSplitOne(String Str) {
String[] temArryStr = Str.split("-");
//temArryStr[0]中不含"-"了,下面的temArryStr[i]也一样,
//所以temArryStr[0].indexOf("-")返回-1,加1得0,返回从0开始到结尾的字符串
String temStr = temArryStr[0].substring(temArryStr[0].indexOf("-") + 1);
for (int i = 1; i < temArryStr.length; i++)
temStr += "->"+ temArryStr[i].substring(temArryStr[i].indexOf("-") + 1);
return temStr;
}
//方法二:直接循环出数组中的元素
public static String UseSplitTwo(String Str) {
//获得第一个城市“延吉“,为了让第一个城市前面没"->"
String[] temArryStr = Str.split("-");
String temStr =temArryStr[0];
for(int i=1;i<temArryStr.length;i++)//从下标1循环,获得其他城市;
temStr+="->"+temArryStr[i];
return temStr;
}
}
输出结果:
北京->郑州->武汉->南昌
北京->郑州->武汉->南昌
注意:
如果字符串是"北京|郑州|武汉|南昌",中间以”|”隔开时,split方法应这么写Str.split("//|")
用到的方法说明:
substring (int startIndex):返回从下标startIndex开始到结尾的字符串
substring (int startIndex, int endIndex):返回从下标startIndex开始到下标endIndex结束的字符串。注意:但不包括下标为endIndex的字符
例如:
String str="abcdefghikjlmn";
System.out.println(str.substring(1));
System.out.println(str.substring(1,3));
结果:
bcdefghikjlmn
bc
indexOf():查找字符或字符串在字符串中首次出现的下标。没有返回”-1”。
Split(String flag):以flag为分割符把字符串分开,结果为一个一维数组