一些常用的字符串方法

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));
	}
}

猜你喜欢

转载自blog.csdn.net/progammer10086/article/details/81129367