文字列関連API

ストリング関連するAPI
索引含むから採取し、対象データが終了含まれていない
(エンドから)サブストリングを、
最初からコンテンツインデックスから採取した
SUBSTRING(から)。

转换数据类型从字符串为int类型,要求此字符串必须内容为数字
Integer.valueOf(String str);

trim();去除字符串左右两边的空格
charAt();通过下标获取相应位置的字符

split();对字符串使用指定的字符进行分割,得到一个数组
startsWith();判断字符串前缀部分的内容
endsWith();判断字符串后缀部分的内容

toUpperCase()  toLowerCase()大小写转换

toCharArray();把字符串转换为大小为字符串长度的char数组

new String(b, 2, 1);获取从下标2开始的长度为1的字符串部分

对两个字符串进行比对,从第一位开始比对相应的asc码值,如果相同,
继续比对下一位,如果不同,将范围差值,如果其中一个完全包含另一个,
那么将会返回个数的差值
str1.compareTo(str2);

copyValueOf();通过调用new String()方法对数组类型进行转换,转换为string类型的新数据

下面的fromindex都是包含的检索内容
indexOf(str,fromindex);从下标为fromindex的字符开始正序检索
lastIndexOf(str,fromindex);从下标为fromindex的字符开始倒序检索


isEmpty();判断当前字符串是否为空,根据长度判断


replace(String oldStr,String newStr);//匹配完全相同的字符串
repalceAll(String regex,String newSTR);//可以根据正则进行批量的匹配替换

StringBufferをとのStringBuilder
sb.append();
sb.delete(fromIndexのint型、int型toIndexの); //たtoIndexの含まれていないラベルを削除
sb.insert(int型のインデックス、文字列の内容を);指定された場所のインデックスで//挿入コンテンツ

区别:
StringBuffer是线程安全的,效率稍低
StringBuilder是线程不安全的,效率高

String是最终类,进行修改操作时会生成多个对象,而StringBuffer和
StringBuilder不会生成多个对象
public class StringApi {

	public static void main(String[] args) {
		String str = "hello java";
		//1、字符串截取
//		str = str.substring(0, 5);
//		System.out.println(str);
		
		str = str.substring(3);
		System.out.println(str);
		
//		2、格式转换
		str = "12345";
		int strInt = Integer.valueOf(str);
		System.out.println(strInt);
		
//		3、trim()
		str = " 123 abc   222    ";
		System.out.println("开始长度:"+str.length());
		str = str.trim();
		System.out.println("去空格后长度:"+str.length());
		System.out.println(str);
		
//		4、charAt()
		str = "Hello woniuxy";
//		char c = str.charAt(0);
//		System.out.println(c);
		for (int i = 0; i < str.length(); i++) {
			System.out.println(str.charAt(i));
		}
		
//		5、split
		str = "1990-11-12";
		String[] strs = str.split("-");
		System.out.println(strs[0]+"年"+strs[1]+"月"+strs[2]+"日");
		
//		6、startWith()  endsWith
		str = "startend";
		boolean isHello = str.startsWith("start");
		System.out.println(isHello);
		
		boolean isEnd = str.endsWith("end");
		System.out.println(isEnd);
		
//		7、toUpperCase    toLowerCase
		str = "abABcd";
		str = str.toUpperCase();
		System.out.println("abcd大写为:"+str);
		
		String lowerStr = str.toLowerCase();
		System.out.println(lowerStr);
		
//		8、valueOf()
//		Integer.valueOf(s);
		double d = Double.valueOf("10.2");
		System.out.println(d);
		
//		9、toCharArray()
		str = "abcd";
		char[] cs = str.toCharArray();
		System.out.println("字符数组大小:"+cs.length);
		for (char c : cs) {
			System.out.println(c);
		}
		
//		10、getBytes()
		str = "abcd123";
		byte[] b = str.getBytes();
		for (byte c : b) {
			System.out.println(c);
		}
		
//		11、new String()
		String strGetByte = new String(b);
		System.out.println(strGetByte);
		
		String newStr = new String(b, 2, 1);
		System.out.println(newStr);
		
//		12、compareTo
		String str1 = "abadez";
		String str2 = "aba);";
		System.out.println(str1.compareTo(str2));
		
//		13、equals
		str1 = "abCde";
		str2 = "abcde";
		System.out.println(str1.equals(str2));
		System.out.println("忽略大小写:"+str1.equalsIgnoreCase(str2));
		
//		14、concat
		str1 = "hello";
		str2 = " java";
		String cocatStr = str1.concat(str2);
		System.out.println(cocatStr);
		
//		15、copyValueOf()
		char[] css = new char[str1.length()];
		css[0] = 'a';
		css[1] = 'b';
		css[2] = 'c';
		String newstr = String.copyValueOf(css);
		System.out.println(newstr);
		
//		indexOf
		str = "abcd abcd";
		int index = str.indexOf("c");
		System.out.println(index);
		
		index = str.lastIndexOf("c");
		System.out.println(index);
		
		System.out.println(str.indexOf("c", 4));
		
		System.out.println(str.lastIndexOf("c", 2));
		
//		isEmpty
		str = "   ";
		System.out.println(str.isEmpty());
		
//		replace
		str = "hello java";
		str = str.replace("java", "android");
		System.out.println(str);
		
		str = str.replace("l", "m");
		System.out.println(str);
		
		
		str2 = "你好,蜗牛学院";
		System.out.println(str2.indexOf("学院",6));
		
	}

おすすめ

転載: blog.csdn.net/weixin_44668498/article/details/91411595