package com.day03;
import org.junit.Test;
import java.util.Locale;
public class StringMethodTest {
/**
* 总结:
* 增:append(xxx)
* 删:delete(int start,int end)
* 改:setCharAt(int n ,char ch) / replace(int start, int end, String str)
* 查:charAt(int n )
* 插:insert(int offset, xxx)
* 长度:length();
* *遍历:for() + charAt() / toString()
*/
@Test
public void test4() {
// StringBuffer的常用方法:
// StringBuffer append(xxx):提供了很多的append()方法,用于进行字符串拼接
StringBuffer s1 = new StringBuffer("abc");
s1.append(123);
s1.append('1');
System.out.println(s1);
// StringBuffer replace(int start, int end, String str):把[start,end)位置替换为str
s1.replace(2, 4, "hsdh");
System.out.println(s1);
// StringBuffer delete(int start,int end):删除指定位置的内容
StringBuffer s2 = new StringBuffer("asgdkjas");
s2.delete(2, 5);//左闭右开
System.out.println(s2);
// StringBuffer insert(int offset, xxx):在指定位置插入xxx
StringBuffer Mode = new StringBuffer("asndlkl");
Mode.insert(0,"aaa");
System.out.println("*********"+Mode);
// StringBuffer reverse() :把当前字符序列逆转
StringBuffer s3 = new StringBuffer("huashdlasd");
s3.reverse();
System.out.println(s3);
//返回一个从start开始到end索引结束的左闭右开区间的子字符串,截取字符串,进行调转
String ss = s3.substring(3, 6);
System.out.println(ss);
}
@Test
public void test3() {
// String replace(char oldChar, char newChar):返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
String str1 = "广东君学院";
String str2 = str1.replace("广", "南");
System.out.println(str2);
// String replace(CharSequence target, CharSequence replacement):使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。
String str3 = str1.replace("广东", "上海");
System.out.println(str3);
//String replaceAll(String regex, String replacement):使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
String str4 = "111askiud222hoaisj333dlklajshd444";
//使用正则表达式来替换,(\\d+ 表示数字,加号代表一个或多个) , ("^,|,$" ^表示以什么开头,| 或 代表或什么 $代表以什么结尾)
String string = str4.replaceAll("\\d+", "君").replaceAll("^,|,$", "");
System.out.println(string);
//判断str字符串中是否全部有数字组成,即有1-n个数字组成
String str5 = "12345678";
boolean matches = str5.matches("\\d+");
System.out.println(matches);
//判断这是否是一个杭州的固定电话("0571-\\d{7,8}" 以0571-开头,结尾7到8位结尾)
String str6 = "0571-4534289";
boolean result = str6.matches("0571-\\d{7,8}");
System.out.println(result);
//String[] split(String regex):根据给定正则表达式的匹配拆分此字符串。
String str7 = "hello|world|java";
String[] str8 = str7.split("\\|");
for (int i = 0; i < str8.length; i++) {
System.out.println(str8[i]);
}
//String[] split(String regex, int limit):根据匹配给定的正则表达式来拆分此字符串,最多不超过limit个,如果超过了,剩下的全部都放到最后一个元素中。
String str9 = "cao.ho.yi";
String[] str10 = str9.split("\\.");
for (int i = 0; i < str10.length; i++) {
System.out.println(str10[i]);
}
}
@Test
public void test2() {
//注:indexOf和lastIndexOf方法如果未找到都是返回-1
//boolean endsWith(String suffix):测试此字符串是否以指定的后缀结束
String str1 = "hellowworld";
boolean b1 = str1.endsWith("rld");
System.out.println(b1);
//boolean startsWith(String prefix):测试此字符串是否以指定的前缀开始
boolean b2 = str1.startsWith("he");
System.out.println(b2);
//boolean startsWith(String prefix, int toffset):测试此字符串从指定索引开始的子字符串是否以指定前缀开始
boolean b3 = str1.startsWith("o", 4);
System.out.println(b3);
//boolean contains(CharSequence s):当且仅当此字符串包含指定的 char 值序列时,返回 true
String str2 = "wor";
System.out.println(str1.contains(str2));
//int indexOf(String str):返回指定子字符串在此字符串中第一次出现处的索引
System.out.println(str1.indexOf("lo")); //负一代表不存在
//int indexOf(String str, int fromIndex):返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始
System.out.println(str1.indexOf("wo", 3));
//int lastIndexOf(String str, int fromIndex):返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索
String str3 = "hellorworld";
System.out.println(str3.lastIndexOf("or"));
System.out.println(str3.lastIndexOf("or", 6));
}
@Test
public void test1() {
// int length():返回字符串的长度: return value.length
String t1 = "jhasgdakjs";
System.out.println(t1.length());
// char charAt(int index): 返回某索引处的字符return value[index]
String t2 = "HelloWorld";
System.out.println(t2.length());
System.out.println(t2.charAt(0));
System.out.println(t2.charAt(9));
// boolean isEmpty():判断是否是空字符串:return value.length == 0
String r1 = "";
System.out.println(r1.isEmpty());
// String toLowerCase():使用默认语言环境,将 String 中的所有字符转换为小写
String r2 = "KHGKJSD123";
System.out.println(r2.toLowerCase(Locale.ROOT));
// String toUpperCase():使用默认语言环境,将 String 中的所有字符转换为大写
String r3 = "kjashd";
System.out.println(r3.toUpperCase(Locale.ROOT));
// String trim():返回字符串的副本,忽略前导空白和尾部空白
String r4 = " ak s gd ka js ";
String r5 = r4.trim();
System.out.println(r5);
System.out.println("------" + r4 + "-------");
System.out.println("------" + r5 + "-------");
// boolean equals(Object obj):比较字符串的内容是否相同
String s1 = "HelloWorld";
String s2 = "helloworld";
System.out.println(s1.equals(s2));
// boolean equalsIgnoreCase(String anotherString):与equals方法类似,忽略大小写
System.out.println(s1.equalsIgnoreCase(s2));
// String concat(String str):将指定字符串连接到此字符串的结尾。 等价于用“+”
String s3 = "abc";
String s4 = s3.concat("def");
System.out.println(s4);
// int compareTo(String anotherString):比较两个字符串的大小
String s5 = "abc";
String s6 = new String("abp");
System.out.println(s5.compareTo(s6));//涉及到字符串排序
// String substring(int beginIndex):返回一个新的字符串,它是此字符串的从beginIndex开始截取到最后的一个子字符串。
String s7 = "北京尚硅谷教育";
String s8 = s7.substring(2);
System.out.println(s7);
System.out.println(s8);
// String substring(int beginIndex, int endIndex) :返回一个新字符串,它是此字符串从beginIndex开始截取到endIndex(不包含)的一个子字符串。
String t3 = "aksjdhiuashnaslkjh";
String s9 = t3.substring(2, 5);
System.out.println(s9);
}
}
String 类 ( 看了包会 )
最新推荐文章于 2023-07-18 13:49:52 发布