字符串的相关转换

package com.test;

public class Demo3 {

	public static void main(String[] args) {
		String string = "1000phone";
		// 1.判断:
		// 判断是否包含一个子字符串
		// boolean contains(CharSequence s)
		System.out.println("1000phone".contains("1000"));// true
		// 判断两个字符串的内容是否相同
		// boolean equals(Object anObject)
		System.out.println("1000phone".equals("1000phone"));// true
		// 忽略大小写判断两个字符串的内容是否相同
		// boolean equalsIgnoreCase(String anotherString)
		System.out.println("1000PHONE".equalsIgnoreCase("1000phone"));// true
		// 判断是否以某字符串开头
		// boolean startsWith(String prefix)
		System.out.println("1000phone".startsWith("1000"));// true
		// 判断是否以某字符串结尾
		// boolean endsWith(String suffix)
		System.out.println(string.endsWith("phone"));// true,(或者把string.endsWith("phone")换成"1000phone".endsWith("phone"))

		// 2.转换:将字符数组转换成字符串
		char[] arr = { 'a', 'b', 'c', 'd', 'e' };
		String string2 = new String(arr);
		// 1:使用构造方法
		// String(char[] value)
		// String(char[] value, int offset, int count) 第二个参数
		System.out.println("string2=" + string2);// string2=abcde
		System.out.println(new String(arr, 1, 3));// bcd,将字符数组转换成字符串,输出数组下标从int offset开始, 到int count结束
		// 2:使用静态方法
		// static String copyValueOf(char[] data)
		// static String copyValueOf(char[] data, int offset, int count)
		// 将字符串转成字符数组
		// char[] toCharArray()
		char[] arr2 = string2.toCharArray();
		System.out.println("arr2=" + arr2[3]);// d
		// 将字节数组转成字符串
		// String(byte[] bytes)
		// String(byte[] bytes, int offset, int length)
		// String(byte[] bytes, String charsetName)//使用指定的编码将字节数组转换成字符成
		byte[] arr3 = { 97, 98, 99 };// 就是把ASCII表中的内容转换,a是97,A是65
		String string3 = new String(arr3);
		System.out.println("string3=" + string3);// string3=abc
		// 将字符串转成字节数组
		// byte[] getBytes() //GBK
		byte[] arr4 = string2.getBytes();
		System.out.println(arr4[1]);// 98
		// 将基本数据类型转换成字符串
		// String.valueOf()
		String string4 = string.valueOf(false);//把()里面的转换成字符串, string4=false
		System.out.println("string4=" + string4 + 1);// false1

		// 3.替换:
		// String replace(char oldChar, char newChar)
		String string5 = string4.replace("als", "hello");// 把false中的als替换成hello
		System.out.println("string5=" + string5);// string5=fhelloe
		// 子串:
		// String substring(int beginIndex)
		System.out.println("123456789".substring(3));// 456789,输出包含当前(下标)位置到最后的字符串
		// String substring(int beginIndex, int endIndex)
		// //包含起始(下标)位置,不包含结束(下标)位置,到结束位置的前一位
		System.out.println("123456789".substring(3, 6));// 456
		// 转换,去除空格,比较:
		// 大小写转换

		// String toLowerCase() ,小写转换成大写输出
		String string6 = string5.toUpperCase();
		System.out.println("string6=" + string6);// string6=FHELLOE
		// String toUpperCase() ,大写转成小写输出
		System.out.println(string6.toLowerCase());// fhelloe
		// 将字符串两端的空格去掉,不能去除中间的空格
		// String trim()
		String string7 = "  he  llo  ";
		System.out.println("好:" + string7.trim() + "好");// 好:he llo好
		// 按字典顺序比较两个字符串
		/*
		 * 字典顺序就是ASCII码比较当前两个字符,ASCII大的被认为是大的字符
		 * 规则:从左边第一个字符串开始比,如果不相同,直接认为大字符串就是大字符串,后面的不在进行比较.
		 * 当前字符比较的区别:使用前面的字符,后面的字符,将差值返回,如果差值是负数,说明前面的字符串大,反之后面的大.
		 * 如果当前的字符相同,再去比较第二个字符,依次往后推,如果比到最后都相同,则认为两个字符串相等,差值返回0.
		 */
		// int compareTo(String anotherString) string5=fhelloe
		System.out.println(string5.compareTo("fHelloe"));// 结果32,如果fhelloe与felloe相减,结果为0
		// 4.切割: String[] split(String)
		// 注意:作为刀的字符串,不能被当做内容切出来
		String string8 = "a#b#c#d";
		String[] strings = string8.split("#");// .是特殊字符,代表任意字符 \\.代表普通的点字符
		System.out.println(string8.split("")[1]);// 结果:#,[]中的数字指下标,可以将所有的字符切出来,无条件的切
		for (String string9 : strings) {// 用#切出来的字符分别输出
			System.out.println("string9=" + string9);// string9=a, string9=b,
														// string9=c, string9=d
		}
	}

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值