黑马程序员 --- stirng 与简单的几个正则实例

---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------

 

看付东老师5天视频 感谢付东老师

String类 java.lang.String

public final class String

extends Object implements Serializable, Comparable< String>, CharSequence

实例1

        String s1 = "黑马程序员";
        String s2 = "黑马程序员";
        System.out.println(s1.equals(s2));
        System.out.println(s1 == s2);
        
        
        String s3 = new String("黑马程序员");
        String s4 = new String("黑马程序员");
        System.out.println(s3.equals(s4));
        System.out.println(s3 == s4);

结果true true true false
1.String 重写了toString方法 比较的是字符串的内容

2.String s1 = "黑马程序员"; 是在池内   String s3 = new String("黑马程序员"); 在池外  并在池内也创建一个实例但引用指向的是池外的

3. s1与s2 地址与内容都相同 在池内 s3 与s4 内容相同地址不同 s3与s4在池外

 

实例2

        String s1 = "黑马";
        String s2 = "程序员";
        String s3 = s1 + s2;
        String s4 = "黑马程序员";
        System.out.println(s3.equals(s4));
        System.out.println(s3 == s4);


结果 true false

1.因为s3与s4字符串相同所以s3.equals(s4)); true

2.s1+s2 这是在池外生成一个实例 而s4是在池内 所以s3 == s4 false

 

实例3

        String s1 = "黑马" + "程序员";
        String s2 = "黑马程序员";
        System.out.println(s1.equals(s2));
        System.out.println(s1 == s2);

结果 true true

1.这与实例2有什么区别 s1是一个字符串 因为在编译阶段会对s1处理 所以String s1 = "黑马" + "程序员"; 与String s1 = "黑马程序员";是一个效果

在说几个String比较常用的方法

1.valueOf(Object obj)  把obj转换成字符串
2.toLowerCase() 与 toUpperCase() 大小写转换 
 3.toCharArray()  转换成字符数组 getBytes() 装换成字节数组
 4.substring(int beginIndex, int endIndex) 截取字符串

5.replace(char oldChar, char newChar)  字符替换
6.matches(String regex) 匹配正则

7.length() 求字符长度 isEmpty()  是否为空

8.charAt(int index) 根据索引返回char值 indexOf(int ch)根据char返回索引

9.contains(CharSequence s) 是否包含某字符

10compareTo(String anotherString)  比较两个字符是否相等

11.concat(String str) 连接字符串

接下来是正则的几个实例

1.qq 规则 第一位不能为0的5-11位数   [1-9]\\d{4,10}

String qqRegex = "[1-9]\\d{4,10}";		// QQ号
		System.out.println("12345".matches(qqRegex));

2.电话 规则 第一位是1 第二位可以是3458 的11位数 1[3458]\\d{9}

String phoneRegex = "1[3458]\\d{9}";		// 11位数字, 第1位是1, 第2位可以是3458, 第3位之后可以是任意数字
		System.out.println("18600012345".matches(phoneRegex));

3.邮箱 规则 XXX@XXX.com  \\w+@(\\w+\\.)+[a-zA-Z]{2,4}

		String emailRegex = "\\w+@(\\w+\\.)+[a-zA-Z]{2,4}";
		System.out.println("fudong@163.com".matches(emailRegex));



 

---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值