【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
%tY4位年份2008
%tj一年中的第几天(001~366)085
%tm月份03
%td一个月中的第几天(01~31)02
%ty2位年份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.时间格式化

转换符说明示例
%tH2位数字的24时制的小时(00~23)14
%tI2位数字的12时制的小时(01~12)05
%tk2位数字的24时制的小时(0~23)5
%tl2位数字的12时制的小时(1~12)5
%tM2位数字的分钟(00-59)05
%tS2位数字的秒数(00-60)12
%tL3位数字的毫秒数(000-999)920
%tN9位数字的毫秒数(000000000-999999999)062000000
%tp指定语言环境上下午或下午标记下午、pm
%tz相对于 GMT RFC 82 格式的数字时区偏移量+0800
%tZ时区缩写形式的字符串CST
%ts1970-01-01至现在经过的秒数1595428041
%tQ1970-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秒

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值