一文看懂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类中加入这个方法可能是为了提升一点点性能 ...
随机推荐
- Tomcat服务器种的HttpServletRequest类
HttpServletRequest 类有什么作用: 每次只要有请求进入 Tomcat 服务器,Tomcat 服务器就会把请求过来的 HTTP 协议信息解析好封装到 Reque ...
- JavaScript学习02(js快速入门)
快速入门 基本语法 JavaScript的语法和Java的语法类似,每个语句以;结束,语句块用{...}.但是JavaScrip并不强制要求在每个语句的结尾加;,浏览器中负责执行JavaScript代 ...
- Git连接github以及gitee等使用教程
Git连接github以及gitee等使用教程 一.初始化本次仓库 在想要放置仓库的文件夹出git bash输入命令 git init 二.生成ssh 在github或者gitee注册账户, 在本地生 ...
- SQL 练习37
检索至少选修两门课程的学生学号 SELECT Student.SId,Student.Sname,选课数 from Student, (SELECT sid,COUNT(cid) 选课数 from s ...
- Docker运行中文版GitLab
docker-compose.yml version: '3' services: web: image: 'twang2218/gitlab-ce-zh:10.5' restart: always ...
- c++本地动态连接库代码
c++本地动态连接库代码 1 #pragma once 2 #include "stdafx.h" 3 4 #ifdef PERSON_EXPORTS 5 #define PERS ...
- 常见面试题:java8有什么新特性?
常见面试题:java8有什么新特性? 主要有以下这些新特性: lambda 表达式,经常配合函数式接口使用,可以有效减少代码量 Runnable 是一个函数式接口,下面展示了创建线程三种写法,显然最后 ...
- 经典深度学习CNN总结 - LeNet、AlexNet、GoogLeNet、VGG、ResNet
参考了: https://www.cnblogs.com/52machinelearning/p/5821591.html https://blog.csdn.net/qq_24695385/arti ...
- MySQL之连接查询和子查询
多表连接的基本语法 多表连接,就是将几张表拼接为一张表,然后进行查询 select 字段1, 字段2, ... from 表1 {inner|lift|right} join 表2 on 连接条件; ...
- golang net/http包
http协议 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准.设计HTTP最初的目的是为 ...