分割字符串

  • 按指定的分割符分割字符串,分割符必须是源字符串中要有的,分割后的字符串存在字符串数组中。
str.split(String sign);
str.split(String sign,int limit);
  1. str:需要被分割的字符串
  2. sign:指定的分割符。
  3. limit:指定分割的个数,不指定则全部分完。
public class dome2{
	public static void main(String[] args) {
	 String str="dsfsdf,344,sdf,sdf,sdfsfgdf,";
	 
	 System.out.println("第一组分割");
	 String[] aaa=str.split(",");
	 for (String string : aaa) {
		System.out.println(string);
	}
	 
	 System.out.println("第二组分割");
	 String[]  aa=str.split(",",2);
	 for (String string : aa) {
		System.out.println(string);
	}
	 
	 System.out.println("第三组分割");
	 String[] a=str.split(",",3);
	 for (String string : a) {
		System.out.println(string);
	}
	}
}

结果

第一组分割
 dsfsdf
 344
 sdf
 sdf
 sdfsfgdf
 第二组分割
 dsfsdf
 344,sdf,sdf,sdfsfgdf,
 第三组分割
 dsfsdf
 344
 sdf,sdf,sdfsfgdf,

注意:

  1. 其中 ”.“”|“ 属于转义字符,必须的加 " \\ " 符号,如:String.split("\.")。
  2. 如果一个字符串要有多个字符串,可以用 ” | “ 来做连接符。例如:str.split("\.|,")。

字符串的替换

  1. replace():方法将目标字符串中的 所有子字符串 字符串替换成新字符串。
字符串.replace(String oldChar, String newChar);

oldChar是要被替换的字符串,newChar是要替换上的字符串。

public class dome2{
	public static void main(String[] args) {
	String str="hello php";
	System.out.println(str.replace("php","java"));
	System.out.println(str.replace("php","你好"));
	}
}

结果

hello java
 hello 你好
  1. replaceFirst() 方法利用正则表达式将目标的 第一个子字符串替换成新的字符串。
字符串.replaceFirst(String regex, String replacement);

regex代表正则表达式 , replacement用于替换进去的字符串。

public class dome2{
	public static void main(String[] args) {
	String str="hello c语言";
	System.out.println(str.replaceFirst("[adc]","Java"));
	}
}

结果

hello Java语言
  1. replaceAll() 方法利用正则表达式将匹配到的 所有子字符串 替换成新的字符串
字符串.replaceAll(String regex, String replacement);

regex代表正则表达式 , replacement用于替换进去的字符串。

public class dome2{
	public static void main(String[] args) {
	String str="hello c语言 world c语言";
	System.out.println(str.replaceAll("[abc]","Java"));
	}
}

结果

hello Java语言 world Java语言

字符串比较

  1. equals() 方法用于比较两个字符串是否相同,字符的大小和长度也要比较,返回布尔值,equals() 与 == 运算符号是两个不同的操作,前一个比较的是字符本身,而后一个比较的是两个字符串引用有相同的实例。
public class dome2{
	public static void main(String[] args) {
	String str="nihao";
	String str1=new String("nihao");
	System.out.println(str.equals(str1));
	System.out.println(str==str1);
	}
}

结果

true
 false
  1. equalsIgnoreCase() 方法与equals()方法一样,只不过equalsIgnoreCase() 方法不区分大小写。
public class dome2{
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
	  System.out.println("请设置用户名称");
	  String str=sc.next();
	  System.out.println("请设置密码");
	  String str1=sc.next();
	  System.out.println("请登陆系统");
	  boolean b=true;
	  while(b) {
		  System.out.println("请输入用户名称");
		  String str2=sc.next();
		  System.out.println("请输入密码");
		  String str3=sc.next();
		  if(str2.equals(str)&&str3.equalsIgnoreCase(str1)) {
			  System.out.println("输入正确");
			  b=false;
		  }else {
			  System.out.println("输入错误请重新输入");
		  }
	  }
	}
}
  1. compareTo() 方法按字典比较,用于比较两个字符串的大小,按Unicode 值比较每个字符。
str.compareTo(String otherstr);

按字典顺序 str 位于 otherster 参数之前,比较结果就为一个负整数;如果 str 位于 otherstr 之后,结果就为一个正整数;如果两个字符串相等,结果就为 0。

public class dome2{
 	public static void main(String[] args) {
     String a="Ad";
     String b="AD";
     System.out.println(a.compareTo(b));
     System.out.println(b.compareTo(a));
     System.out.println(a.compareTo("Ad"));
	}
}

结果

32
 -32
 0