黑马程序员_String类的方法汇总及正则表达式

android培训java培训

 Java中的String类提供了大量的方法,非常多,非常杂,通过API总结如下,API版为为Java1.6。

1String类的主要特点

         · String类的对象有两种实例化方式:

                   |- 直接赋值:只会开辟一块堆内存空间,并且这个字符串的内容会自动入池;

         |- 通过构造方法:会开辟两块堆内存空间,同时会产生一个垃圾,并且这个字符串的内容不会自动入池,可以使用intern()方法让其手工入池;

         · String的比较方式有两种:

                   |- “==”:比较的是两个字符串对象的堆内存的地址数值,属于数值比较;

                   |- “equals()”:比较的是两个字符串的内容,属于内容比较;

         · 每一个字符串的常量都表示一个String类的匿名对象,所以字符串的内容一旦声明则不可改变;

2String类的主要方法:

· 字符与字符串:

                   |- 【构造方法】将全部字符数组变为字符串:public String(char [] data);

                   |- 【构造方法】将指定范围的字符数组变为字符串:public String(char [] data , int offset ,int count);

                   |- 【普通方法】返回指定索引位置的内容:public char charAt(int ind);

                   |- 【普通方法】将字符串变为字符数组:public char[] toCharArray();

   · 字节与字符串:

 |- 【构造方法】将字节数组变为字符串:public String(byte [] data);

|- 【构造方法】将指定范围的字节数组变为字符串:public String(byte [] data, int offset , int length);

|- 【普通方法】将字符串变为字节数组:public byte[] getBytes();

    · 字符串的比较:

                  |-【普通方法】区分大小写的比较:public boolean equals(String str);

                   |- 【普通方法】不区分大小写的比较:public boolean equalsIgnoreCase(String str);

                   |- 【普通方法】比较两个字符串的大小:public int compareTo(String otherString);

         · 查找字符串:

                   |- 【普通方法】判断一个子字符串是否存在:public boolean contains(String str);

|- 【普通方法】从头查找指定字符串的位置:public int indexOf(String str);

|- 【普通方法】从头开始的指定位置查找字符串的位置:public int indexOf(String str,int offset);

|- 【普通方法】从后向前查找指定字符串的位置:public int lastIndexOf(String str);

|- 【普通方法】从指定位置由后向前查找:public int lastIndexOf(String str,int offset);

|- 【普通方法】是否以指定的字符串开头:public boolean startsWith(String str);

|- 【普通方法】是否以指定的字符串结尾:public boolean endsWith(String str);

         · 字符串替换:

                   |- 【普通方法】替换所有的子字符串:public String replaceAll(StringoldStr,String newStr);

                   |- 【普通方法】替换首个字符串:public String replaceFirst(String oldStr,String newStr);

         · 字符串截取:

                   |- 【普通方法】从指定位置截取到结尾:public String substring(int index);

                   |- 【普通方法】截取部分字符串:public String substring(int index , int count);

         · 字符串拆分:

                   |- 【普通方法】全部拆分:public String [] split(String regex);

                   |- 【普通方法】拆分为指定的个数:public String[] split(String regex,int size);

         · 其他方法:

                   |- 【普通方法】连接两个字符串:public String concat(String str);

                   |- 【普通方法】去掉左右空格:public String trim();

                   |- 【普通方法】取得字符串的长度:public int length();

                   |- 【普通方法】转大写:public String toUpperCase();

                   |- 【普通方法】转小写:public String toLowerCase();

                   |- 【普通方法】判断空字符串:public boolean isEmpty();

 

3String类的与基本数据类型的转换方法:

1、其他数据类型转换成字符串:

·将布尔类型转换成字符串:publicstaticStringvalueOf(boolean b)

·将字符型转换成字符串 :publicstaticStringvalueOf(char c)

·将int型数据转换成字符串:publicstaticStringvalueOf(int i)

·将long型数据转换成字符串:publicstatic String valueOf(long l)

·将float型数据转换成字符串:public static StringvalueOf(float f);

·将double型数据转换成字符串:public static StringvalueOf(double d);

·将Date类型转换成字符串:

       Stringstr = new SimpleDateFormat((“yyyy-MM-dd HH:mm:ss.SSS”)).format(new Date()) ;

·将Object变成字符串:public String toString();

 

还可以使用  ”” + 连接的形式来转换,但是不常用,开发中一般都使用上述方法.

2、字符串转换成其他数据类型:

 

·将字符串转换成int型数据:

Integer包装类的方法:public static int parseInt(String s)throwsNumberFormatException

·将字符串转换成long型数据:

Long包装类的方法:public static long parseLong(String s)throwsNumberFormatException

·将字符串转换成byte数据:

Byte包装类的方法:public static byte parseByte(String s)throwsNumberFormatException

·将字符串装成double型数据:

Double包装类的方法public static double parseDouble(String s)throwsNumberFormatException

·将字符串转换成float型数据:

Float包装类的方法:public static float parseFloat(String s)hrowsNumberFormatException

·将字符串转换成short型数据:

Short包装类的方法:public static short parseShort(String s)throwsNumberFormatException

 

·将字符串转换成char型号数据:

String 类中的方法:public char[] toCharArray();

·字符串转换成Date型数据:

String str = “2012-04-16 21:15:37.122” ;

Date date = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss.SSS”).parse(str) ;

·字符串变成Object:Object obj = 字符串 ;

 

注意:在转换成数值型数据必须保证字符串是由数字组成的,转型前用正则判定下。

4String类对正则的支持:

         在JDK 1.4之后,String类也发生了一些主要的改变,增加了若干个支持正则表达式的操作方法,这些方法如下:

No.

方法名称

类型

描述

1

public boolean matches(String regex)

普通

进行指定的正则符号匹配

2

public String replaceAll(String regex, String replacement)

普通

替换全部

3

public String replaceFirst(String regex, String replacement)

普通

替换首个

4

public String[] split(String regex)

普通

字符串拆分

5

public String[] split(String regex, int limit)

普通

字符串拆分

 

 

5、正则符号:

1、     表示单个字符(一位)

         · a:表示的是一个字符a;

         · \\:匹配的是转移字符“\”;

         · \n:匹配的是换行;

         · \t:匹配的是制表符;

2、     表示字符集(一位)

         · [abc]:是a、b、c中的任意一个;

         · [^abc]:不是a、b、c中的任意一个;

         · [a-zA-Z]:表示所有的字母,不区分大小写,只是表示一位;

         · [0-9]:表示数字;

3、     简化表达式(一位)

         · .:表示任意的一位字符;

         · \d:表示数字,等价于[0-9];

         · \D:表示的是非数字,等价于[^0-9];

         · \s:表示的是空格(\t、\n等);

         · \S:表示的是非空格;

         · \w:表示的是字母、数字_,等价于:[a-zA-Z0-9_];

         · \W:表示的是非字母、数字_,等价于:[^a-zA-Z0-9_];

4、     边界匹配符(对Java无效,JavaScript中使用)

         · ^:表示一组正则符号的开始;

         · $:表示一组正则符号的结束;

5、     数量匹配,以上的所有符号默认情况下只能表示一个字符,如果要表示多位,则只能利用数量表达式

         · 表达式?:表示此表达式出现0次或1次,例如[a-z]?,则表示要么没有字母,要么只出现一位;

         · 表达式*:表示此表达式出现0次、1次或多次;

         · 表达式+:表示此表达式出现1次或多次;

         · 表达式{n}:表示正好出现n次;

         · 表达式{n,}:表示出现n次以上;

         · 表达式{n,m}:表示出现n~m次;

6、     逻辑表达式

         · 表达式1表达式2:表示与的关系,一个表达式之后紧跟着另外一个表达式;

         · 表达式1 | 表达式2:表示两个表达式任选一个;

         · ():表示一组表达式;

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值