正则表达式

      正则表达式字符有:| , + , * , ^ , $ , / , | , [ , ] , ( , ) , - , . , \等。

     想用 | 竖线去分割某字符,因 | 本身是正则表达式中的一部分,所以需要 \ 去转义,因转义使用 \, 而这个 \ 正好也是正则表达式的字符,所以还得用一个 \ , 所以需要两个 \\。     

  1. String str="5678|XYZ";  
  2. String[] b = str.split("\\|");  //注意这里用两个 \\,而不是一个\  
  3. System.out.println("处理结果: "+b[0]+","+b[1]);   //输出的是: 处理结果: 5678,XYZ 

再来看看:

  1. String str="5678|XYZ";  
  2. String[] b = str.split("|");  //注意直接使用|,该字符是正则表达式的一部分,  
  3. String x="处理结果: ";  
  4. for(int i=0;i<b.length;i++){  
  5.     x=x+b[i]+",";  
  6. }  
  7. System.out.println(x);   //输出的是: 处理结果: 5,6,7,8,|,X,Y,Z,

 正则表达式:
 1、例如果用“.”作为分隔的话,必须是如下写法:String.split("\\."),这样才能正确的分隔开,不能用String.split(".");    2、例如果用“|”作为分隔的话,必须是如下写法:String.split("\\|"),这样才能正确的分隔开,不能用String.split("|");   “.”和“|”都是转义字符,必须得加"\\";
 3、如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如:“a=1 and b =2 or c=3”,把三个都分隔出来,可   以用String.split("and|or");

2.数组长度的问题

String a = "";
String[] b = a.split(",");
b.length为 1;
*
String a = "c";
String[] b = a.split(",");
b.length为 1;
**
String a = "c,,,";
String[] b = a.split(",");
b.length为 1;
***
String a = "c,,c";
String[] b = a.split(",");
b.length为 3;
****
String a = ",";
String[] b = a.split(",");
b.length为 0;

例如:

public static void main(String[] args) {
String str = "jing|gege|hello";
String[] str1 = str.split("|");
for (int i = 0; i < str1.length; i++) {
System.out.println(str1[i]);
}
}

输出结果为:

j
i
n
g
|
g
e
g
e
|
h
e
l
l
o

而下面的代码:

public static void main(String[] args) {
String str = "jing|gege|hello";
String[] str1 = str.split("|");
for (int i = 0; i < str1.length; i++) {
System.out.println(str1[i]);
}
}

输出结果为:

jing
gege
hello


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值