java小白训练营day05-API:API+字符串工具类+身份证解析
Posted 长安紫薯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java小白训练营day05-API:API+字符串工具类+身份证解析相关的知识,希望对你有一定的参考价值。
API手册
注意:chm文件从网络下载后,菜单能展现点击后内容不能展现,按下面图修改下即可
api
了解即可,用到具体的api会用 System.in,System.out.println
日常常用的不到20%
字符串工具类
package test;
import org.junit.Test;
//字符串api方法
public class TestString {
@Test //concat 字符串拼接
public void concat() {
System.out.println("hello" + " world.");
System.out.println("hello".concat(" world."));
String str = "hello world.";
System.out.println("字符串长度:" + str.length());
}
@Test //trim 去掉字符串两边空格
public void trim() {
String s = " 达内 CGB java大数据方向 ";
System.out.println( s.trim() );
}
@Test //charAt 得到某个位置字符,下标,字符串底层字符数组
public void charAt() {
String s = "达内CGB方向";
//第一个字符
System.out.println(s.charAt(0));
System.out.println(s.charAt(2));
//最后一个字符
System.out.println(s.charAt(s.length()-1));
}
@Test //substring 截取子串(截串)
public void substring() {
String s = "达内CGB Java大数据方向很棒";
//获取“达内”
System.out.println( s.substring(0,2) );
//获取“Java大数据”
System.out.println( s.substring(6, 13));
//获取“方向”,一个参数时,默认截取到字符串最尾巴
System.out.println( s.substring(13) );
}
@Test //转换大小写 toUpperCase、toLowerCase
public void toCase() {
String name = "Chen ZiShu";
System.out.println(name.toUpperCase());
System.out.println(name.toLowerCase());
//需求:已知类名,利用api生成它的对象实例名称
//规则:小驼峰,首字母小写
//PersonMan personMan = new PersonMan();
//思路:获取字符串首字母charAt(0),变小写toLowerCase()
// 截取字符串substring(),拼接字符串concat();
String className = "PersonMan";
String s1 = className.charAt(0)+""; //获取首字母
s1 = s1.toLowerCase();
System.out.println(s1);
String s2 = className.substring(1);
System.out.println(s2);
System.out.println(s1.concat(s2));
}
@Test //indexOf和lastIndexOf 获取某个字符、子串它的位置(索引值、下标)
public void indexOf() {
String s = "周杰伦.双节棍.mp3"; //有格式.
//1.获取歌手名称:周杰伦,思路找到名字后面.,然后截串
int pos1 = s.indexOf("."); //从左向右找,找到返回第一个就结束
System.out.println("位置:"+pos1);
System.out.println( s.substring(0, pos1) );
//2.获取歌曲的名称:周杰伦.双节棍
int pos2 = s.lastIndexOf("."); //从右向左找
System.out.println( s.substring(0, pos2) );
//3.获取歌曲文件后缀:mp3
System.out.println( s.substring(pos2+1) );
}
@Test //startsWith什么前缀prefix开头,endsWith什么后缀suffix结尾
public void with() {
String name = "http://www.baidu.com"; //url地址
//1.判断是否是http协议
if( name.startsWith("http://")) {
System.out.println("这是一个HTTP网站");
}else {
System.out.println("这是其他类型的网站");
}
//2.判断是否是com公司,.cn中国,.com全球公司,.net网络提供
if( name.endsWith(".cn")) {
System.out.println("cn中国公司");
}else if( name.endsWith(".com") ) {
System.out.println("com全球公司");
}else if( name.endsWith(".net") ) {
System.out.println("net网络提供商");
}
}
@Test //正则表达式 regex
public void regex() {
//java中默认采用UTF16
String s = "王180a,李133b,陈139c,张130d";
//需求:把数字替换成*
//思路:获取每个字符charAt(i),判断是否是一个数字
//怎么判断是数字,ASCII表,0(48)~9(57) ASCII值
//如果是数字就改成*,如果不是继续for循环
String r = ""; //空串
for(int i=0; i<s.length(); i++) {
char c = s.charAt(i); //for循环变量刚好和下标匹配
if(c>=48 && c<=57) { //0(48)~9(57)
c = '*'; //如果是数字就被改为*
}
r += c;
}
System.out.println(r);
//采用正则表达式方式,正则代码量少,不好理解
System.out.println(
s.replaceAll("\\\\d", "*").replaceAll("[a-z]", "+")
);
}
}
身号解析
以上是关于java小白训练营day05-API:API+字符串工具类+身份证解析的主要内容,如果未能解决你的问题,请参考以下文章
java小白训练营2109-day05-API:API+字符串工具类+身份证解析