java小白训练营2109-day05-API:API+字符串工具类+身份证解析
Posted 长安紫薯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java小白训练营2109-day05-API:API+字符串工具类+身份证解析相关的知识,希望对你有一定的参考价值。
API手册
注意:chm文件从网络下载后,菜单能展现点击后内容不能展现,按下面图修改下即可
api
java是否老了?
java91诞生,已经老了,它很多内容已经被第三方所淘汰,很多内容就被spring替代。
.net 闭源(微软专家在维护)不思进取,傲慢,
java开源(全球开发者)一直在改进 Spring。Apache 。Eclipse
java 自身老了,但它开创java体系,由于第三方这些开源企业和开发者支持,它无敌,其他语言没有这么多支持这
php 网站(新浪微博)倒了,鹿晗事件 i++。高并发!
京东 早期.net aspx 倒了,账。高并发!
淘宝 java
Spring+nginx 负载均衡+Redis分布式内存缓存+MyCat+Docker+k8+Hadoop+Spark+Flink
java自身老了,但是java生态链体系非常完善,是任何一个语言所不能抗衡!
字符串工具类
常见的字符串的api
package test;
import org.junit.Test;
public class TestString {
@Test
public void api() {
//concat 字符串连接符,拼串
System.out.println("abc"+123);
System.out.println("abc".concat("123"));
String s = "今天是个好日子";
System.out.println("字符串长度:" + s.length());
//charAt 获取字符串中某个字符 charAt(index) 下标
System.out.println("第一个字符:"+ s.charAt(0));
System.out.println("第八个字符:"+ s.charAt(7));
//把字符串的每个字获取到,并且打印
for(int i=0; i<s.length(); i++) {
System.out.println( s.charAt(i) );
}
}
@Test //去掉字符串两边的空格
public void trim() {
String s = " 陈晨 上 it 课非常开心 ";
System.out.println( s.trim() );
}
@Test //截取字符串(子串)
public void substring() {
String name = "陈晨";
//截取姓氏和名字
System.out.println("姓氏:"+ name.substring(0, 1));
//从当前位置开始截取到最后
System.out.println("名字:"+ name.substring(1));
String songName = "周杰伦-双节棍.mp3";
//歌曲名称
System.out.println("歌曲名称:"+songName.substring(4,7));
//扩展名 .mp3
System.out.println("扩展名:" + songName.substring(7));
//indexOf 找到某个字符的位置,返回位置的索引的值(下标)
System.out.println(".的位置:" + songName.indexOf("."));
int pos = songName.indexOf("."); //把位置信息记录下来
System.out.println("歌曲名称:"+songName.substring(0, pos));
System.out.println("扩展名:"+songName.substring(pos));
}
@Test //获取某个字符从右向左首次出现的位置
public void lastIndexOf() {
String song = "周杰伦.双节棍.mp3";
int pos1 = song.indexOf("."); //从左向右算第一个
System.out.println(pos1);
int pos2 = song.lastIndexOf("."); //从右向左算第一个
System.out.println(pos2);
System.out.println("歌曲名称:" + song.substring(0, pos2));
String email = "chenzs@tedu.cn";
int pos3 = email.lastIndexOf("@");
//邮箱名字
System.out.println("邮箱名字:" + email.substring(0,pos3));
//域名
System.out.println("域名:" + email.substring(pos3+1));
}
@Test //转换大小写,针对英文
public void toCase() {
String name = "WangGeiBi";
System.out.println("大写:" + name.toUpperCase());
System.out.println("小写:" + name.toLowerCase());
}
@Test //前缀prefix 和后缀suffix
public void toWith() {
String s = "刘若英.后天.mp3";
//判断它是mp3歌曲
if(s.startsWith("刘若英") && s.endsWith(".mp3")) {
System.out.println("这是mp3的音频");
}else {
System.out.println("这不是一个音频文件");
}
}
@Test //替换 replace和replaceAll
public void replace() {
String name = "刘若英歌曲非常好听,歌曲:后天";
//把“歌曲”换成英文song
System.out.println( name.replace("歌曲", "song"));
//只替换第一个 regex
System.out.println( name.replaceFirst("歌曲", "song"));
String name2 = "刘若英.后天.mp3";
//把.替换-号
System.out.println( name2.replace(".", "-"));
System.out.println( name2.replaceFirst(".", "-"));
//元字符,正则表现形式,元字符.就代表每个字符
System.out.println( name2.replaceAll(".", "-"));
//regex 正则表达式,
//不是正则中的元字符点而要求是字母的点
System.out.println( name2.replaceAll("\\\\.", "-"));
}
@Test
public void regex() {
//地址信息中屏幕电话号码,隐藏电话号码,*
String address = "北京中关村110号楼 陈晨 135";
//不用正则来实现
//解决方法:for遍历每个字符,判断这个字符是否为0(48)~9(57),如果是替换*
String s = ""; //空串
for(int i=0; i<address.length(); i++) {
char c = address.charAt(i); //获取当前的字符
if(c>=48 && c<=57) {
//System.out.println(c);
s += "*";
}else {
s += c;
}
System.out.println(s);
}
System.out.println("----------------");
//用正则来实现
System.out.println(address);
//正则:匹配每一个数字(\\d)
System.out.println( address.replaceAll("\\\\d", "*"));
}
}
以上是关于java小白训练营2109-day05-API:API+字符串工具类+身份证解析的主要内容,如果未能解决你的问题,请参考以下文章