【Java学习日记】#2 字符串的相关方法(2)

字符串分割 split()
(1)split(String sign)
sign为分割字符串的分割符,也可以使用正则表达式

如果想要定义多个分割符,可以使用符号“|”
例如:“=|,” 表示分隔符分别为“,”、“=”

String s = new String("233.233.2.3");
String[] firstAr = s.split("\\.");
for(String a : firstAr) {
	System.out.println(a);
}

输出结果:

233
233
2
3

"."需要使用转义字符

String s = new String("233 233 2 3");
String[] firstAr = s.split(" ");
for(String a : firstAr) {
	System.out.println(a);
}

233
233
2
3

String s = new String("233 233@2$3");
String[] firstAr = s.split(" |@|\\$");
for(String a : firstAr) {
	System.out.println(a);
}

输出结果:

233
233
2
3

一般输出有误的可以前面加一个"\"试试,一般都是转义字符的问题。
(2)split(String sign, int limit)
sign与上相同,limit表示模式匹配次数。比如设置该值为n,则结果数组的长度不会超过n。

String s = new String("233 233@2$3");
String[] firstAr = s.split(" |@|\\$",2);
for(String a : firstAr) {
	System.out.println(a);
}

输出结果:

233
233@2$3

格式化字符串 format()
1.日期格式化

转换符 说明 示例
%te 一个月中的某一天 2
%tb 指定语言环境的月份简称 Feb(英文)、二月(中文)
%tB 指定语言环境的月份全程 February(英文)、二月(中文)
%tA 指定语言环境的星期几全称 Monday、星期一
%ta 指定语言环境中星期几的简称 Mon、星期一
%tc 包括全部日期和时间信息 星期二 三月 25 13:37:22 CST 2008
%tY 4位年份 2008
%tj 一年中的第几天(001~366) 085
%tm 月份 03
%td 一个月中的第几天(01~31) 02
%ty 2位年份 08

(表格来自《Java从入门到精通》)

import java.util.Date;
public class Eval {
	public static void main(String[] args) {
		Date date = new Date();
		String year = String.format("%tY", date);
		String month = String.format("%tB", date);
		String day = String.format("%td", date);
		String all = String.format("%tc", date);
		System.out.println("年份:"+year);
		System.out.println("月份:"+month);
		System.out.println("日期:"+day);
		System.out.println(all);
	}

}

注意最前面的一句import
输出结果:

年份:2020
月份:七月
日期:22
周三 7月 22 22:15:49 CST 2020

2.时间格式化

转换符 说明 示例
%tH 2位数字的24时制的小时(00~23) 14
%tI 2位数字的12时制的小时(01~12) 05
%tk 2位数字的24时制的小时(0~23) 5
%tl 2位数字的12时制的小时(1~12) 5
%tM 2位数字的分钟(00-59) 05
%tS 2位数字的秒数(00-60) 12
%tL 3位数字的毫秒数(000-999) 920
%tN 9位数字的毫秒数(000000000-999999999) 062000000
%tp 指定语言环境上下午或下午标记 下午、pm
%tz 相对于 GMT RFC 82 格式的数字时区偏移量 +0800
%tZ 时区缩写形式的字符串 CST
%ts 1970-01-01至现在经过的秒数 1595428041
%tQ 1970-01-01至现在经过的毫秒数 1595428094252

(出处同上表)

import java.util.Date;
public class Eval {
	public static void main(String[] args) {
		Date date = new Date();
		String hour = String.format("%tH", date);
		String minute = String.format("%tM", date);
		String second = String.format("%tS", date);
		System.out.println("现在是北京时间:"+hour+"时"+minute+"分"+second+"秒");
	}

}

输出结果:

现在是北京时间:22时35分48秒

猜你喜欢

转载自blog.csdn.net/BAOZEE/article/details/107523018