欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

一些常用的字符串方法

程序员文章站 2022-07-14 09:40:20
...
package String;

/*StringDemo*/
public class StringDemo {
	public static void main(String[] args) {
		// 使用+号进行字符串的拼接
		// 字符串是常量,在内存中是不可变的,所以进行字符串拼接后是在栈内存中重新创建了一个新的字符串,再指向这个新的字符串
		String str = "Hello" + "World";
		str += 12345;
		System.out.println(str);
		// 使用java提供的concat方法进行拼接
		String str1 = "abc";
		str1 = str1.concat("de");
		System.out.println(str1);
		// 获取字符串的长度,字符串获取长度的.length()方法是:类的成员方法,而数组获取长度的.length方法是:数组的属性
		// 空字符串无法调用.length()方法
		System.out.println(str1.length());
		// 获取指定的字符
		String str2 = "我的名字是";
		System.out.println(str2.indexOf("我"));// indexOf("的",0)这个0表示从哪个位置开始索引
		System.out.println(str2.charAt(1));
		// 判断字符串结尾的内容
		String str3 = "Hello.java";
		boolean bool = str3.endsWith(".java");// 判断字符串句首的内容用.startsWith
		boolean bool1 = str3.endsWith(".jpg");
		System.out.println(bool);
		System.out.println(bool1);
		// 获取字符串数组
		String str4 = "我是一名大学生";
		char[] c = str4.toCharArray();
		for (char ch : c) {
			System.out.print(ch + " ");
		}
		System.out.println();
		// 判断子字符串是否存在
		String str5 = "我今年22岁";
		Boolean bool2 = str5.contains("今年");
		System.out.println(bool2);
		if (str5.indexOf("22岁") > -1) {// 使用indexOf方法来查找子串
			System.out.println("22岁存在");
		}
		// 截取字符串
		String str6 = "123456789";
		System.out.println(str6.substring(1, 2));// 包括开始,不包括结束
		// 字符串替换,这个方法支持正则表达式,功能十分强大,正则表达式非常的多,具体需要可以去网上查http://www.runoob.com/java/java-regular-expressions.html
		/*
		 * 常用的正则表达式: \d:[0-9]:数字 \D:[^0-9]:非数字 \w:[A-Za-z0-9]:字类字符 \W:[^A-Za-z0-9]:非单词字符
		 */
		String str7 = "我目前在读大三";
		System.out.println(str7.replaceAll("三", "四"));
		// 字符串分割
		String str8 = "[email protected]";
		String[] strr = str8.split("@");
		for (String i : strr) {
			System.out.println(i);
		}
		// 字符串大小写转换
		System.out.println(str8.toUpperCase());// 转换成小写就用.toLowerCase()
		// 去除空白
		String str9 = "          a    b     c           ";
		System.out.println("[" + str9.trim() + "]");// .trim去除首尾空格
		System.out.println("[" + str9.replaceAll(" ", "") + "]");// 这2种方法都可以去除所有的空格
		System.out.println("[" + str9.replaceAll("\\s", "") + "]");
		// 比较字符串是否相等,这个具体还有个十分有意思的东西,我将单独写一篇博客
		String a = "abc", b = "def", d = "abc";
		System.out.println("a和b相等吗?" + a.equals(b));
		System.out.println("a和c相等吗?" + a.equals(d));
	}
}

 

相关标签: java String