加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

String字符串、以及正则表达式

发布时间:2020-12-14 02:06:04 所属栏目:百科 来源:网络整理
导读:String 字符串 一串字符就是字符串: char[],String, StringBuilder 1 字符串"字面量"都是String类型实例 Stirng 内部就是一个char[]. 2 String API 有一个实现原则: 对象内容永远不变 也就是说: String对象永远不变. 3 String 字面量(直接量),如果相同,会替换
String 字符串
一串字符就是字符串: char[],String,
StringBuilder
1 字符串"字面量"都是String类型实例
Stirng 内部就是一个char[].
2 String API 有一个实现原则: 对象内容永远不变
也就是说: String对象永远不变.
3 String 字面量(直接量),如果相同,会替换为同
一个String对象的引用,常量连接的结果也被优化
为一个字符串.
String s = new String("abc");
4 String 的比较,equals,hashCode()
5 String API (字符串的常用方法)
这些方法如果返回String 一定是一个新String对象
toString() 除外.
字符串中的字符有序号,从0开始.
API 方法:
charAt()
length()
trim()
indexOf()
lastIndexOf()
endsWith()
startsWith()
substring(int start,int end)

substring(int start)

正则表达式: 负责的字符串匹配处理规则,应用广泛.
学习建议: 1 要能够读懂"正则表达式"
2 能够写出简单的"正则表达式"
3 不要过多的分配学习时间!
可以应用于: java grep vi
1 字符集: [1234] 表示 1,2,3,4 之一
[^12] 表示除了 1,2
[1-5] 表示 1,4,5
[a-f] 表示 a-f 之间的
[0-9a-fA-F] 表示:一个16进制字符
预定义字符集:
d : [0-9]
. : 任意字符
w: 单词字符 [0-9a-zA-Z_]
s: 匹配空白:

2 {m,n} 数词
{n}
{m,n}
? : {0,1}
+ : {1,n}
* : {0,n}

3 ^ 开头
$ 结尾

邮政编码: ^[0-9][0-9][0-9][0-9][0-9][0-9]$
^[0-9]{6}$
^d{6}$

用户名规则: ^w{8,10}$
电话号: +86 13912345678
^(+86)?s?d{11}$
身份证号码: ^d{15}(d{2}[0-9xX])?$
一个点的坐标: ^d+(,s*|s+)d+$
3,2
3,2
3 2
3 2

String 对正则表达式的支持
.matches() 匹配正则表达式
.split() 切分字符串为字符串数组
.replaceAll()
正则的集体案例:

package day12; public class RegDemo { public static void main(String[] args) { String email = "liu.c-ang.song@gmail.com.cn"; //email: ^[w-]+(.[w-]+)*@[w-]+(.[w-]+)*$ String reg = "^[w-]+(.[w-]+)*@[w-]+(.[w-]+)*$"; boolean pass = email.matches(reg); System.out.println(pass);//true String date = "2011年1月3日"; date = date.replace("日","") .replaceAll("[年月]","-"); System.out.println(date);//"2011-1-3" } }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读