1.通过subString方法截取字符串
因为在代码的上一层已经通过判断,传进来的一定只有一个字符串,但被 双引号("")包裹,需要获取其中的字符串,使用substring方法,直接将其截取出来
public static void main(String[] args) {
String str = "\"1234567\"";
String substring = str.substring(1, str.length() - 1);
System.out.println(substring);
}
结果:
F:\Java\jdk1.8\jdk\
1234567
Process finished with exit code 0
2.通过 StringTokenizer
StringTokenizer构造函数:
-
一个参数 StringTokenizer(String str)。默认以” \t\n\r\f”(前有一个空格,引号不是)为分割符。
-
两个参数 StringTokenizer("“1234567"”, “”");前一个为待分割字符串,后一个为分割单位,
一个字符是单独的一个分割单位。例中为 分割单位是 " ,但要对其转义,所以加上 \
-
三个参数 StringTokenizer(s, “the”, true);第一个是待分隔的字符串,第二个为分隔字符串,以字符为分隔单位(比如the,可能匹配到e,就会分隔),
//第三个参数说明是否要把分割字符串作为标记返回
StringTokenizer st = new StringTokenizer(s, “the”, true);
public static void main(String[] args) {
StringTokenizer st = new StringTokenizer("\"1234567\"", "\"");
while(st.hasMoreElements()){
System.out.println("Token:" + st.nextToken());
}
}
结果:
F:\Java\jdk1.8\jdk\
Token:1234567
Process finished with exit code 0
3.spilt
-
用一般的字符,例如@或,等符号做分隔符时
-
当使用* ^ : | . \等6个符号做分隔符时,上述6个符号转义字符,必须得加"\",即split(“\^”)等。第二个“\”是用来给这6种符号转义,第一个“\”是用来给第二个“\”转义。
-
可以用“|”字符作为连字符,把多个分隔符分隔的内容都区分开:
-
如果split(String s)函数产生了空值,那么不会存到数组中。可以通过使用它的重载函数split(";",-1)实现空值的保存。这里的“;”只是作为分隔符的一个例子。
// 使用split方法进行截取,双引号之间填写参数,用\对 双引号 ,进行转义。
// 用|可以使截取对象为多个
public static String Spilt(){
String address="\"124\"565|5634567\"qwergh\"";
String[] splitAddr=address.split("\"|3");
return splitAddr[1] +","+ splitAddr[2] + "," + splitAddr [3];
}
结果:124,565|56,4567,qwergh