分割字符串
- 按指定的分割符分割字符串,分割符必须是源字符串中要有的,分割后的字符串存在字符串数组中。
str.split(String sign);
str.split(String sign,int limit);
- str:需要被分割的字符串
- sign:指定的分割符。
- 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,
注意:
- 其中 ”.“ 和 ”|“ 属于转义字符,必须的加 " \\ " 符号,如:String.split("\.")。
- 如果一个字符串要有多个字符串,可以用 ” | “ 来做连接符。例如:str.split("\.|,")。
字符串的替换
- 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 你好
- 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语言
- 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语言
字符串比较
- 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
- 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("输入错误请重新输入");
}
}
}
}
- 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