一文看懂String类中的常用方法
1、int length(): 返回字符串的长度: return value.length
2、char charAt(int index): 返回某索引处的字符return value[index]
3、boolean isEmpty(): 判断是否是空字符串: return value.length == 0
String str = " HELLO world ";
System.out.println(str.length());//13
System.out.println(str.charAt(0));//" "第一个空格
System.out.println(str.charAt(9));//r
System.out.println(str.isEmpty());//false
4、String toLowerCase(): 使用默认语言环境, 将 String 中的所有字符转换为小写
5、String toUpperCase(): 使用默认语言环境, 将 String 中的所有字符转换为大写
String str = " HELLO world ";
String s1 = str.toLowerCase();//转换所有字符为---->小写
String s2 = str.toUpperCase();//转换所有字符为---->大写
System.out.println(s1);//" hello world "
System.out.println(s2);//" HELLO WORLD "
System.out.println(str);//" HELLO world " 不改变原值
6、String trim(): 返回字符串的副本, 忽略前导空白和尾部空白
String str = " HELLO world ";
String s3 = str.trim();//去除字符串首尾空格
System.out.println(s3);//"HELLO world"
7、boolean equals(Object obj): 比较字符串的内容是否相同
8、boolean equalsIgnoreCase(String anotherString): 与equals方法类似, 忽略大小写
String s1 = "HELLOWORLD";
String s2 = "helloworld";
System.out.println(s1.equals(s2));//false
System.out.println(s1.equalsIgnoreCase(s2));//true 忽略大写小写比较
9、String concat(String str): 将指定字符串连接到此字符串的结尾。 等价于用“+”
String s3 = s1.concat("降龙十八掌");//连接字符串,等价于 “+”
System.out.println(s3);//HELLOWORLD降龙十八掌
10、int compareTo(String anotherString): 比较两个字符串的大小
String s4 = "abc";//97、98、99
String s5 = new String("abg");//97、98、103
System.out.println(s4.compareTo(s5));//-4 遇到相等跳过,遇到不同作差,输出
String s6 = "aag";//97、97、103
System.out.println(s4.compareTo(s6));//1
11、String substring(int beginIndex): 返回一个新的字符串, 它是此字符串的从beginIndex开始截取到最后的一个子字符串。
12、String substring(int beginIndex, int endIndex) : 返回一个新字符串, 它是此字符串从beginIndex开始截取到endIndex(不包含)的一个子字符串。
String s7 = "降龙十八掌、六脉神剑、乾坤大挪移";
String s8 = s7.substring(6);//切片操作
String s9 = s7.substring(6,10);左闭右开[)
System.out.println(s8);//六脉神剑、乾坤大挪移
System.out.println(s9);//六脉神剑
13、boolean endsWith(String suffix): 测试此字符串是否以指定的后缀结束
14、boolean startsWith(String prefix): 测试此字符串是否以指定的前缀开始
15、boolean startsWith(String prefix, int toffset): 测试此字符串从指定索引开始的子字符串是否以指定前缀开始
String s1 = "六脉神剑、九阳神功、一阳指";
boolean s2 = s1.startsWith("六"); //以xx开始
System.out.println(s2);//true
boolean s3 = s1.startsWith("九阳",5); //从第index处 以xx开始
System.out.println(s3);//true
boolean s4 = s1.endsWith("指"); //以xx结束
System.out.println(s4);//true
16、boolean contains(CharSequence s): 当且仅当此字符串包含指定的 char 值序列时,返回 true
String s1 = "六脉神剑、九阳神功、一阳指";
String s5 = "九阳神功";
System.out.println(s1.contains(s5));//true
17、int indexOf(String str): 返回指定子字符串在此字符串中第一次出现处的索引
18、int indexOf(String str, int fromIndex): 返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始
19、int lastIndexOf(String str): 返回指定子字符串在此字符串中最右边出现处的索引
20、int lastIndexOf(String str, int fromIndex): 返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索
注: indexOf和lastIndexOf方法如果未找到都是返回-1
String s1 = "六脉神剑、九阳神功、一阳指";
System.out.println(s1.indexOf("神剑"));//2
System.out.println(s1.indexOf("神剑", 6));//-1
System.out.println(s1.lastIndexOf("神"));//7
System.out.println(s1.lastIndexOf("神", 5));//2
21、String replace(char oldChar, char newChar): 返回一个新的字符串, 它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
22、String replace(CharSequence target, CharSequence replacement): 使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。
String s1 = "六脉神剑、九阳神功、一阳指";
System.out.println(s1.replace("神", "鬼"));//六脉鬼剑、九阳鬼功、一阳指
23、String replaceAll(String regex, String replacement) : 使用给定的replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
String str = "12hello34world5java7891mysql456";
//把字符串中的数字替换成 ","如果结果中开头和结尾有,的话去掉
String string = str.replaceAll("\\d+", ",").replaceAll("^,|,$", "");//正则表达式
System.out.println(string);
//hello,world,java,mysql
24、String replaceFirst(String regex, String replacement) : 使用给定的replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。
String s1 = "六脉神剑、九阳神功、一阳指";
System.out.println(s1.replace("神", "鬼"));//六脉鬼剑、九阳鬼功、一阳指
String str = "1111AAAA2222BBBB999";
//把字符串中的数字替换成,,如果结果中开头和结尾有,的话去掉
String string = str.replaceFirst("\\d+", ",");
System.out.println(string);//,AAAA2222BBBB999
25、boolean matches(String regex): 告知此字符串是否匹配给定的正则表达式。
String str = "12345";
//判断str字符串中是否全部有数字组成,即有1-n个数字组成
boolean matches = str.matches("\\d+");
System.out.println(matches);//true
String tel = "0476-4534289";
//判断这是否是一个赤峰的固定电话
boolean result = tel.matches("0476-\\d{7,8}");
System.out.println(result);//true
26、String[] split(String regex): 根据给定正则表达式的匹配拆分此字符串。
27、String[] split(String regex, int limit): 根据匹配给定的正则表达式来拆分此字符串, 最多不超过limit个, 如果超过了, 剩下的全部都放到最后一个元素中。
String str = "hello|world|java";
String[] strs = str.split("\\|");
for (int i = 0; i < strs.length; i++) {
System.out.print(strs[i] + "\t");
}
//hello world java
System.out.println();
String str2 = "hello.world.java";
String[] strs2 = str2.split("\\.",2);
for (int i = 0; i < strs2.length; i++) {
System.out.print(strs2[i] + "\t");
}
//hello world.java
一文看懂String类中的常用方法的更多相关文章
- 从字符串到常量池,一文看懂String类设计
从一道面试题开始 看到这个标题,你肯定以为我又要讲这道面试题了 // 这行代码创建了几个对象? String s3 = new String("1"); 是的,没错,我确实要从这里 ...
- String类中的常用方法
String类 一.转换成String方法 1.public String(); 空参构造 初始化一个新创建的 String 对象,使其表示一个空字符序列 2.public String(byte[] ...
- 【转帖】一文看懂docker容器技术架构及其中的各个模块
一文看懂docker容器技术架构及其中的各个模块 原创 波波说运维 2019-09-29 00:01:00 https://www.toutiao.com/a6740234030798602763/ ...
- 一文看懂java io系统 (转)
出处: 一文看懂java io系统 学习java IO系统,重点是学会IO模型,了解了各种IO模型之后就可以更好的理解java IO Java IO 是一套Java用来读写数据(输入和输出)的A ...
- 一文看懂Java序列化
一文看懂Java序列化 简介 Java实现 Serializable 最基本情况 类的成员为引用 同一对象多次序列化 子父类引用序列化 可自定义的可序列化 Externalizable:强制自定义序列 ...
- Nature 为引,一文看懂个体化肿瘤疫苗前世今生
进入2017年,当红辣子鸡PD-1疗法,一路横扫多个适应症.而CAR-T治疗的“小车”在获得FDA专委会推荐后也已经走上高速路,成为免疫治疗又一里程碑事件.PD-1.CAR-T之后,下一个免疫治疗产品 ...
- 一文看懂YOLO v3
论文地址:https://pjreddie.com/media/files/papers/YOLOv3.pdf论文:YOLOv3: An Incremental Improvement YOLO系列的 ...
- 看懂UML类图与时序图
看懂UML类图和时序图 这里不会将UML的各种元素都提到,我只想讲讲类图中各个类之间的关系: 能看懂类图中各个类之间的线条.箭头代表什么意思后,也就足够应对 日常的工作和交流: 同时,我们应该能将类图 ...
- Java String类中的intern()方法
今天在看一本书的时候注意到一个String的intern()方法,平常没用过,只是见过这个方法,也没去仔细看过这个方法.所以今天看了一下.个人觉得给String类中加入这个方法可能是为了提升一点点性能 ...
随机推荐
- JAVA 调用第三方短信平台接口发送短信
做了几个调用三方短信平台发送短信的例子,大部分需要 携带参数,向指定URL发送请求 回顾对接第一个平台时痛苦的乱码经历,这里放一份代码,算是个模版,再用到的时候过来copy一下就OK. 在进入主题之前 ...
- Kong网关安装之Docker版(2)
1.安装kong管理工具:konga或者kong-dashboard,这里选择konga 拉取konga镜像: sudo docker pull pantsel/konga:0.14.4 初始化kon ...
- SpringBoot开发四-MyBatis入门
需求介绍-MyBatis入门 首先就是安装Mysql Server 和Mysql Workbench. SqlSessionFactory:用于创建SqlSession的工厂类 SqlSession: ...
- DVWA(一):关于DVWA的基本介绍
一.关于DVWA的搭建及报错问题: 传送门 上面链接主要解决安装DVWA报错的问题,这里防止自己再去找,所以记一下. (1)安装DVWA需要一个web环境,我实在win2003系统(xss_uploa ...
- Linux部署达梦数据库(完全版)
环境准备 数据库下载去http://www.dameng.com 1.下载好达梦数据库iso上传(通过xftp)到你自己存在的目录(/opt) 2.将你上传的iso文件挂载到其它的目录下面(mount ...
- 你真的了解JS里的"new"吗?
我们常常喜欢用new关键字去创建一些对象如new Vue(),但是这个关键字的背后究竟做了什么其实没太多人去关注. 想象我们是苹果公司,要生产30部iPod,规定: 每台iPod都会有自己的ID 每台 ...
- sql查询第10条到第20条数据
select top(10) * from T1 where Id >= (select MAX(Id) from (select top(20) * from T1 order by Id) ...
- Qt 的MDI 多文档窗口
一.MDI简介 MDI就是多文档界面(Multi-document Interface,MDI)应用程序 MDI就是在主窗口里创建多个同类型的MDI子窗口,这些MDI子窗口在主窗口里显示,并共享主窗口 ...
- WPF教程(四)RelativeSource属性
我们进行Bingding时,如果明确知道数据源的Name,就能用Source或者ElementName进行绑定,但是有时候我们需要绑定的数据源可能没有明确的Name,此时我们就需要利用Bingding ...
- hive简单数据分析
简单查询分析 select brand_id from user_log limit 10; -- 查看日志前10数据 好像也没啥,和SQL相同,,limit取前多少条 , as取别名 查询条数统计 ...