String类型和正则表达式

本文详细介绍了 Java 中 String 类型的特点及其提供的常用 API 方法,并深入探讨了正则表达式的使用,包括常见符号及应用场景。

一、String类型

1.特点:类型是用final修饰,底层是字符数组和其他数组的一些操作。创建的对象不可变,但是声明的变量的可以指向不同的对象。

因为是java语言中最常用的一种类型,所以有一定的优点,在使用String类型时,提供了常量池。

2.常量池

在给字符串的变量赋值时,先去常量池寻找这个对象,如果找不到,则会新建一个放进常量池,这样有利于对象的可重用性,这样的对象:必须是字符串常量,或者字面量

如:String str = "helloworld";

字符串的字面量拼接是在编译期间拼出结果。

3.常用的API

1)indexOf():第一次字符出现索引的位置

2)lastIndexOf():最后一次字符出现索引的位置

3)length():返回字符串的长度。数组中有length属性

4)substring():截取子字符串的长度,substring(3,5);截取[3,5)位置的元素

5)toupperCase():将字符串中的英文变大写

6)tolowerCase():将字符串中的英文变小写

7)charAt(int index):返回指定索引处字符的char值

8)concat(String str):将指定字符串连接到此字符串的结尾

9)str.contains(str1):当且仅当次此字符串包含指定的char序列时,返回true,即判断str中是否包含str1

10)str.endsWith(str1);str是否以str1结尾(后缀)

11)str.startsWith(str1);str是否以str1开头(前缀)

12)replace("a","b");所有的a给换成b 以旧换新

13)replace(String str1,String str2):同上;

14)trim();去除前后的空格  

15)equal(Objectstr);与参数str比较内容是否一致(长的是否一样

16)equalsIgnoreCase(str);忽略大小写

二、正则表达式

       1.有时候有这样的需求:对字符串需要匹配,查找,替换等操作.

     2.什么是正则表达式??

      是一个有规律的,有特殊意义的一串字符,通常用来匹配,查找等操作。

    3.常用符号:

      *:任意字符;

       [abc]:表示abc中任意一个字母

     [^abc]:除了abc之外的任意字符

     [0-9]:表示0-9的任意一个数字

    [a-z]:表示a-z中任意一个字母

    [0-9a-zA-Z_]:表示这些字符中任意一个 

    [a-z&&[^abc]]:表示a-z中除了abc之外的任意一个字母

    [/d]:表示0-9中任意一个数字 

    [/D]:表示非数字中任意一个字符 

    [/w]:表示单词字符中任意一个 相当于 [0-9a-zA-Z_] 字母数字下划线

    [/W:表示除了单词字符中任意一个

    \s:表示[\n\t\r\f],空白

    \S:非空白

    [X]*:匹配0个以上的X

    [X]?:匹配0个或1个X

    [X]+:匹配1个以上的X

    [X]{n}:匹配n个X

    [X]{n,}:匹配n个以上的X

    [X]{n,m}:匹配n到m个

    "^" :从头开始检查字符串是否匹配正则表达式

    “&”:检查字符串的结尾是否匹配正则表达式

练习: 

1.写一个邮箱的正则表达式:8-16位

/ 校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串:

  /^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$

  校验用户姓名:只能输入1-30个以字母开头的字串 :/^[a-zA-Z]{1,30}$/

校验密码:只能输入6-20个字母、数字、下划线 :/^(\w){6,20}$/

2.//校验普通电话、传真号码:可以“+”或数字开头,可含有“-” 和 “ ”

  /^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/

  \d:用于匹配从0到9的数字;

  “?”元字符规定其前导对象必须在目标对象中连续出现零次或一次

  可以匹配的字符串如:+123 -999 999 ; +123-999 999 ;123 999 999 ;+123 999999等

  在写字符串时,想表达"\"这个字符,必须在前面添加转义字符

  转义字符:\

  有一些特殊字符都需要被转义,才行。

三、String支持正则表达式

  1:matchs(String reg):

    参数为正则表达式,用来判断字符串是否匹配正则表达式

      匹配:返回true

      不匹配:返回false

  2:split(String reg):

    用来拆分字符串:用符合正则表达式的子字符串拆分成字符串数组。

    返回值类型是字符串数组。

    如果字符串的首位就符合正则表达式,会拆出一个空字符串""元素

    在字符串的末尾如果符合了,不会拆分出一个空字符串元素。

  3:replaceAll(String reg,String new): 作用是使用new这个字符串替换字符串中符合reg的子串

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值