正则表达式代码

package day03;

import java.io.UnsupportedEncodingException;
import java.util.Arrays;

import org.junit.Test;

public class StringDemo {
@Test
public void test01() {
// 1.调用String方法API
// 创建String对象
String str = “hello”;
String s1 = new String(); // “”
String s2 = new String(“hello”); // “hello”
String s3 = new String(“hello”);
String str1 = “hello”;
System.out.println(s1 == s2);
System.out.println(str == s2);
System.out.println(s3 == s2);

	// String类将equals重写过了
	System.out.println(s3.equals(s2));
	System.out.println(s3.equals(str));
	// JDK提供了一个字符串的常量池
	System.out.println(str == str1);
}

@Test
public void test02() {
	String str = "hello";  // 常量池
	// 字符串字面量 拼接 -> 常量池
	String s1 = "he" + "llo";
	String s2 = "he";
	// 变量 + 字面量 -> new 对象
	String s3 = s2 + "llo";
	
	System.out.println(str == s1);
	System.out.println(str == s3);
	// 结论:字符串在特定场合下面可以用 == 比较
	// 		但是不建议使用==,建议使用equals
}

@Test
public void test03() {
	String s1 = "hello";
	// 字符串拼接
	s1 = s1.concat("hi");
	System.out.println(s1);
	
	// 获得输入的邮箱对应的用户名 wrerwer@163.com
	String email = "324wewearyyu@163.com";
	// 字符串截取 - 从指定下标开始,截取到结束
	String user = email.substring(5);
	System.out.println(user);
	// 字符串截取 - 从指定下标开始,到指定下标结束(前包含、后不包含)
	user = email.substring(0, 7);
	System.out.println(user);
	// 获得@第一次出现所在的下标位置
	int index = email.indexOf("@");
	user = email.substring(0, index);
	System.out.println(user);
	// 获得@最后一次出现的下标位置
	index = email.lastIndexOf('@');
	user = email.substring(0, index);
	System.out.println(user);
}
@Test
public void test04() {
	String str = "qnmlg b, 你真的是个大sb";
	str = str.replace("qnmlgb", "**");
	System.out.println(str);
}
// 都变大写 都变小写 忽略大小写比较

// 去除左右两边空格   ' '  \n \t \r 

@Test
public void test05() {
	String email = "ere334@163.com";
	// ^[a-zA-Z]\w{5,17}@163\.com$
	String regex = "^[a-zA-Z]\\w{5,17}@163\\.com$";
	System.out.println(regex);
	boolean ismatches = email.matches(regex);
	System.out.println(ismatches);
}
@Test
public void test06() {
	String str = "qnmlgb, 你真的是个大sbsb, 真是nc";
	// (qn)?(mlgb|sb|nc)*
	String regex = "(qn)?(mlgb|sb|nc)+";
	str = str.replaceAll(regex, "**");
	System.out.println(str);
}
@Test
public void test07() {
	String ip = "192.168.6.66";
	// 获得每一段的数字
	String regex = "\\.";
	String[] ss = ip.split(regex);
	System.out.println(Arrays.toString(ss));
	
	String word = "hello hi, .how are you? I'm fine!";
	// . , ! 空格 ""
	// [ ,\.!\?]+
	regex = "[ ,\\.!\\?]+";
	String[] words =word.split(regex);
	System.out.println(words.length);
	// ftp->temp->resource->api->正则表达式.zip
}

@Test
public void test08() throws UnsupportedEncodingException {
	char c = 'c';
	c = (char) 97;
	c = '\u4e2d'; // Unicode编码/字符集 - Java-JVM
	System.out.println(c);
	// byte -128~127
	// char 0~2^16-1  = 65535
	//      \u0000~\uffff
	
	String str = "哈哈";
	// 字符串转变成字节数组 - 系统级编码(GBK/UTF-8)
	byte[] bs = str.getBytes(); // - 系统默认编码
	System.out.println(Arrays.toString(bs));
	bs = str.getBytes("gbk"); // 根据指定的gbk字符集来拆解字符串
	System.out.println(Arrays.toString(bs));
}
@Test
public void test09() throws UnsupportedEncodingException {
	byte[] bs = {-27, -109, -120, -27, -109, -120};
	
	// 编码:将字节数组转换成字符串 
	String str = new String(bs); // 默认系统编码 - utf-8
	System.out.println(str);
	
	// 根据指定的字符集来编码
	String str1 = new String(bs, "gbk");
	System.out.println(str1);
	// 解决str1的乱码问题 先解码 -> 再编码
	str1 = new String(str1.getBytes("gbk"), "utf-8");
	System.out.println(str1);
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值