Java学习日记——String类、正则表达式 20190227

LEARNING

1.String类
①声明:String str = [null]
②创建字符串:
a)String(char a[])方法(用一个字符数组a创建String对象)

 char a[]={'j','a','n','e'};
 String s = new String(a);         等价于→String s = new String("jane")

b)String(char a[],int offset,int length)(提取数组a中一部分创建字符串对象)

char a[] ={'j','a','n','e'};
String s = new String(a,2,2);     等价于→String s = new String("ne")

offset表示开始截取字符串的位置,length表示截取字符串的长度

c)String(char[] value)(可分配一个新的String对象使其数组参数中所有元素连接的结果)

③连接字符串:’+’ (连接多个字符串/连接其他数据类型——自动调用toString()

④获取字符串信息
1)长度:str.length();

2)查找:
str.indexOf(String s) 查找字符在字符串的索引位置
str.lastIndexOf(String s) 返回指定字符串最后一次出现的索引位置,无返回-1
若括号中为空格,则效果与str.length()一样

3)获取指定位置字符:str.charAt(int index)

4)获取子字符串:
str.substring(int beginIndex) :从某处开始截取字符串
substring(int beginIndex,endIndex):从某一索引位置开始截取至某结束

5)去除空格:str.trim() 返回字符串副本,忽略前导空格和尾部空格

6)字符串替换:str.replace(char oldChar,char newChar)

7)判断字符串开始/结尾:
str.startsWith(String str) 判断字符串开始的字符串是不是str
str.endsWith(String str) 判断字符串结尾的字符串是不是str

8)判断字符串是否相等:
str.equals(String str) 返回boolean类型
str.equalsIgnoreCase(String otherstr) 忽略大小写情况下判断

9)按字典顺序比较字符串:str.compareTo(String otherstr)

10)字母大小写转换:

str.toLowerCase()
str.toUpperCase()

11)字符串分割:
str.split(String sign) 对给定字符串进行拆分
str.split(String sign,int limit) 有限制次数地对字符串进行拆分

public class Division {
   public static void main(String[] args) {
	   String str = new String ("ab,cdefg,h");
	   String[] newstr = str.split(",");
	   for(int i=0;i

⑤格式化字符串

str.format(String format,Object...args)
str.format(Local 1,String format,Object...args)

⑥正则表达式 ** 不了解**

⑦字符串生成器StringBuilder
1)append(content) ——向字符串生成器中追加内容
2)insert(int offset,arg)——向指定位置插入
3)delete(int start,int end)——删除序列的子字符串中的字符

PRATICING

1.Java程序:使用String类的toUpperCase()和toLowerCase().

public class Pratice7 {
  public static void main(String[] args) {
	  String str = "I love U";
	  String str1 = str.toUpperCase();
	  String str2 = str.toLowerCase();
	  System.out.println(str1);
	  System.out.println(str2);
  }
}

2.分别截取字符串str1和字符串str2中部分内容,若截取后相等则输出true,反之false。

public class Pratice8 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
      String str1 = "My name is Jane.";
      String str2 = "My age is 18";
      String str3 = str1.substring(0,4);
      String str4 = str2.substring(0,4);
      boolean a = str3.equals(str4);
      System.out.println(str3);
      System.out.println(str4);
      System.out.println(a);
      	}
	}

3.使用正则表达式来判断字符串text是否为合法手机号。

public class Pratice10 {
	public static void main(String[] args) {
		String regex = "1[35]\\d{9}";   
		// 1是指以1开头的字符串
		// [35]是指第二位是3或者5这两个数字
		// \\d{9}是指数字必须重复9次
		String text = "150772820946";
		if (text.matches(regex)) {
			System.out.println(text + "是合法的手机号");
		}
		else System.out.println(text + "不是合法的手机号");
	}
}

4.使用字符串生成器,将字符串str追加1~10这十个数字。

public class Pratice9 {
	public static void main(String[] args) {
       StringBuilder builder = new StringBuilder("abce");
       for(int i=1;i<=10;i++)
    	   builder.append(i);
       System.out.println(builder);
	}
}

你可能感兴趣的:(java)