Java学习第七天(string类基础)

本文深入探讨了Java中字符串的各种操作技巧,包括字符串的创建、比较、正则表达式的使用、字符串的分割、替换以及字符串的开始和结束判断。此外,还讨论了字符串处理中的效率问题及解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

string我们可以自定义也可以用系统定义的

例如:string info =""(java中lang包中的类型不用引包,可以直接使用)

string info1=“祖国”
string info2=“祖国”//这两个是地址相同还是内容相等
if(info1==info2){
System.out.println("地址相同");
}else{
System.out.println("内容相等");
}//会输出地址相同
//判断相等:要注意是地址相等还是内容相等(Java中==是判断地址相同的)
//java对直接使用字符串类型做了优化,当两个值相同时,第二变量不在新开辟空间。

//除了比较地址相同以外,还能比较内容相等,用equals
//例如
string data1=“祖国”
string data2=“祖国”
判断:if(data1.equals(data2))



正则表达式:matches(可参考jdk手册)

String email = "haoren@sina.com";
		if(email.matches("\\w+@\\w+.\\w+")){
				System.out.println("邮箱合法!");

		}else{
				System.out.println("邮箱不合法!");
		}
		//用户名的规矩:6-18 只能是数字,大小写字母和下划线
		String username = "haor";
		if(username.matches("\\w{6,18}")){
				System.out.println("用户名合法");
		}else{
				System.out.println("用户名不合法");
			}
		//电话:13688341235,//11位的数字,第一位以1开头
		String  tel = "13688341235";
		if(tel.matches("^1\\d{10}")){
			System.out.println("电话号码合法");
		}else{
			System.out.println("号码不合法");
		}

字符的分割 (split)

String address = "www.sina.com";
		//System.out.println(".");
		//注意:"."在正则表达式中有其他的含义,所有要[.]
		String[] s = address.split("[.]");
		System.out.println(s.length);
		for(String x:s){
			System.out.println(x);
		}

		String path = "C:\\Windows\\System32\\cmd.exe";
		//方法一:
		/*
		String path1 = "c:"+File.separator+"Windows"+File.separator+"System32"+File.separator+"cmd.exe";
		//System.out.println(path1);
		//String[] paths = path.split("\\\\");

		//System.out.println(paths.length);

		String[] paths = path1.split("\\\\");//这里写四个斜杆因为这里是正则表达式,要\\代表一个\
		System.out.println(paths[3]);

		System.out.println(File.separator);
		*/
		//方法二:
		int index = path.lastIndexOf("\\");//这里的参数不是正则表达
		//System.out.println(index);

		String temp = path.substring(index+1);
		System.out.println(temp);

 判读字符串的开头(startswith)和结尾(endswith)

String data = "我爱我的祖国";
		System.out.println(data.startsWith("我"));
		System.out.println(data.endsWith("好人"));

		//String的效率问题
		String data1 = "我";
		data1  = data1+"是好人!";//在以后的开发中如果出现反复拼字符串不使用Sring +
		System.out.println(data1);
		//如果需要反复拼接字符串,用StringBuffer
		StringBuffer sb = new StringBuffer("我");
		System.out.println(sb);
		sb.append("是好人!");
		System.out.println(sb);

 去掉空格(trim)

 

//trim()只会去掉两边、
		String username = "   ha ha   ";
		System.out.println("   ha ha   ");
		System.out.println(username.trim()+123);

替换(replace)

String data3 = "啊,祖国,我爱你啊";

		System.out.println(data3.replace("啊","ha")

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值