【java】String类常见操作
秋招做题需要,总结String类常用api如下:
简单的:str.length()、str.isEmpty()、str.split(“;”)切割
1.字符串反转:借助StringBuilder/StringBuffer,(常用StringBuilder类,因为快)
// 字符串反转
public static String reverseString(String str) {
StringBuffer sBuffer = new StringBuffer(str);
String string = sBuffer.reverse().toString();
return string;
}
2.截取字符串:substring()方法
substring(int beginIndex, int endIndex)
第一个int为开始的索引,对应String数字中的开始位置,第二个是截止的索引位置,对应String中的结束位置
从beginIndex开始取,到endIndex结束,下标从0开始,取出的字符串不包括endIndex位置的字符
public static void main(String[] args) {
String str = "abcdefgh";
//substring(int beginIndex, int endIndex)
//从beginIndex开始取,到endIndex结束,不包括endIndex位置的字符
String res = str.substring(1, 3);
System.out.println(res);
}
输出:bc
3.删除字符串中的前几个数据:substring()方法【也就是保留某个数据以后的数据】
public static void main(String[] args) {
String str1 = "abcdefghqwertyui";
//取索引为8往后的字符串(包含索引为8的字符)
//也就是删除索引0-7的前8个数据
String res1 = str1.substring(8);
System.out.println(res1);
}
输出:
qwertyui
4.截取字符串的后几位:substring()方法
public static void main(String[] args) {
String str1 = "abcdefghqwertyui";
//取出最后两位
String res1 = str1.substring(str1.length()-2);
System.out.println(res1);
}
输出:
ui
5.遍历字符串中的每一个字符:charAt()方法、toCharArray()方法 感觉两种方法差别不大,习惯其中一个方法就行
(1)charAt()方法返回指定索引位置的char值
把遍历出来的char拼成一个新的字符串
public static void main(String[] args) {
String str1 = "0123456";
String res = "";
for (int i = 0; i < str1.length(); i++) {
char everyWord = str1.charAt(i);
//当想要某一些不连续的字符拼成新的字符串的时候:
//需要用到--把取出的char拼成字符串
if(i%2==0) {
res = res +everyWord;
}
}
System.out.println(res);
}
输出
0246
(2)toCharArray()方法
toCharArray()方法:将字符串对象中的字符转换为一个字符数组
public static void main(String[] args) {
String str1 = "0123456";
String res = "";
char[] charArray = str1.toCharArray();
for (int i = 0; i < charArray.length; i++) {
if (i % 2 == 0) {
res = res + charArray[i];
}
}
System.out.println(res);
}
输出
0246
6.字符串中是否包含另一个字符串 : indexOf()方法、contains()方法
indexOf()方法:返回要匹配的字符串第一次出现的索引的位置,没出现过返回-1
contains()方法:判断是否包含指定字符串,包含返回true,不包含返回false
lastIndexOf()方法: 要匹配的字符串最后一次出现的索引
public static void main(String[] args) {
String str1 = "0123456";
int firstIndex = str1.indexOf("34");
System.out.println(firstIndex);//字符3的下标
boolean flag = str1.contains("56");
System.out.println(flag);
}
输出
3
true
7.判断两个字符串中的内容是否相同:equals()方法
public static void main(String[] args) {
String str1 = "0123456";
String str2 = "0123456";
boolean flag = str1.equals(str2);
System.out.println(flag);
}
输出
true
equalsIgnoreCase() 判断两个字符串是否是一样的(可以忽略字母大小写)
public static void main(String[] args) {
String str1 = "A0123456";
String str2 = "a0123456";
boolean flag1 = str1.equals(str2);
boolean flag2 = str1.equalsIgnoreCase(str2);
System.out.println(flag1);
System.out.println(flag2);
}
输出
false
true
8.移除字符串的空格:trim()方法
trim()方法:移除字符串两边的空格
public static void main(String[] args) {
String str1 = " A0123456 ";
String str2 = str1.trim();
System.out.println(str2);
}
输出
A0123456
移除任意位置的空格
public static void main(String[] args) {
String str = " 1 2 3 4 5 ";
System.out.println(StringDemo.removeSpace(str));
System.out.println(StringDemo.removeSpace2(str));
}
//自己写一个可以去除字符串任意位置空格的方法
//运用toCharArray()
public static String removeSpace(String str) {
String strRes = "";
char[] charArray = str.toCharArray();
for (char c : charArray) {
if (c!=' ') {
strRes=strRes+c;
}
}
return strRes;
}
//运用charAt()
public static String removeSpace2(String str) {
String strRes = "";
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (c!=' ') {
strRes=strRes+c;
}
}
return strRes;
}
9.字符串是否以指定字符串开头、结尾:startsWith()、endsWith()
public static void main(String[] args) {
String str = "wsmOffers";
boolean flag1 = str.startsWith("wsm");
boolean flag2 = str.endsWith("Offers");
boolean flag3 = str.endsWith("wsm");
System.out.println(flag1);
System.out.println(flag2);
System.out.println(flag3);
}
输出
true
true
false
10.把该字符串转换成 小写字符串:toLowerCase()、把该字符串转换成 大写字符串:toUpperCase()
public static void main(String[] args) {
String str = "wsmOffers";
String res1 = str.toUpperCase();
String res2 = str.toLowerCase();
System.out.println("res1="+res1);
System.out.println("res2="+res2);
}
输出
res1=WSMOFFERS
res2=wsmoffers
11.把任何类型的数据转换成字符串类型
(1)方法1:前面也用到过,任何类型的数据,拼接一个字符串就会变成字符串
个人感觉这种方法适用于一个字符一个字符的拼接中
public static void main(String[] args) {
String str = "01234";
String res = "";
for (int i = 0; i < str.length()-2; i++) {
char everyWord = str.charAt(i);
//字符串拼接的方法
res = res +everyWord;
}
System.out.println(res);
}
输出
012
(2)方法2:valueOf()
静态类型的方法,直接类名.方法 int--->String
public static void main(String[] args) {
int a = 123;
String res = String.valueOf(a);
System.out.println(res);
}
String--->int
public static void main(String[] args) {
//String--->int
String str = "123";
int num = Integer.valueOf(str);
System.out.println(num);
}
12.补充:把char转换为int类型
public static void main(String[] args) {
String str = "0123";
for (int i = 0; i < str.length(); i++) {
char num = str.charAt(i);
//char转int
int num0101 = (int) num - (int) '0';
System.out.println(num0101);
}
}
13.在该字符串中,将给定的旧字符,用新字符替换、将给定的旧字符串,用新字符串替换
replace(s1,s2),用字符串s1代替原字符串中的s2
如果找不到就输出原字符串
public static void main(String[] args) {
String str = "wsmOffers";
//可以替换字符
String res1 = str.replace('w', 'q');
//可以替换字符串
String res2 = str.replaceAll("Offers", "BATJTMD");
//找不到就输出原字符串
String res3 = str.replaceAll("offers", "BATJTMD");
System.out.println("res1="+res1);
System.out.println("res2="+res2);
System.out.println("res3="+res3);
}
输出
res1=qsmOffers
res2=wsmBATJTMD
res3=wsmOffers
刷题过程中遇到什么再补充…
【java】String类常见操作的更多相关文章
- Java 11 - Java String类
Java String类 字符串广泛应用在Java编程中,在Java中字符串属于对象,Java提供了String类来创建和操作字符串. 创建字符串 创建字符串最简单的方式如下: String gree ...
- Java-Runoob:Java String 类
ylbtech-Java-Runoob:Java String 类 1.返回顶部 1. Java String 类 字符串广泛应用 在Java 编程中,在 Java 中字符串属于对象,Java 提供了 ...
- Java String类详解
Java String类详解 Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,很多时候,我们对它既熟悉又陌生. 类结构: public final ...
- JAVA String 类
java String类中的常用方法:public char charAt(int index)返回字符串中第index个字符:public int length()返回字符串的长度:public i ...
- Java String类具体解释
Java String类具体解释 Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,非常多时候,我们对它既熟悉又陌生. 类结构: public fin ...
- Java Object类 和 String类 常见问答 6k字+总结
写在最前面 这个项目是从20年末就立好的 flag,经过几年的学习,回过头再去看很多知识点又有新的理解.所以趁着找实习的准备,结合以前的学习储备,创建一个主要针对应届生和初学者的 Java 开源知识项 ...
- java基础系列(一):Number,Character和String类及操作
这篇文章总结了Java中最基础的类以及常用的方法,主要有:Number,Character,String. 1.Number类 在实际开发的过程中,常常会用到需要使用对象而不是内置的数据类型的情形.所 ...
- 《java入门第一季》之类(String类常见方法小叙)
String类下面的构造方法和一些常见的方法: /* * 字符串:就是由多个字符组成的一串数据.也可以看成是一个字符数组. * 通过查看API,可以知道 * A:字符串字面值"abc&quo ...
- Java学习笔记之:Java String类
一.引言 字符串广泛应用在Java编程中,在Java中字符串属于对象,Java提供了String类来创建和操作字符串. 创建字符串最简单的方式如下: String str= "Hello w ...
随机推荐
- 积累的关于linux的安装卸载软件基本命令
Linux安装.卸载软件 在linux环境中,尤其是cenos中安装过一些软件,一般是二进制安装与源码安装,现小结一下linux中的安装与卸载. 一.通常Linux应用软件的安装包有三种: 1) ...
- mybatis xml配置文件模版
mybatis xml配置文件模版 1.mybatis核心配置文件书写(SqlMapConfig.xml) <?xml version="1.0" encoding=&quo ...
- 获取真实ip三个方法
方法一: /** * 获取客户端IP地址 * * @return string */function get_client_ip(){ if (getenv("HTTP_CLIENT_IP& ...
- 百战程序员-xml
1.用自己的语言说出,为什么需要XML? XML 是一种元标注语言,该语言提供一种描述结构数据的格式.这有助于更精确地声明内容,方便跨越多种平台的更有意义的搜索结果.此外,XML 将起用新一代的基于 ...
- 《从Lucene到Elasticsearch:全文检索实战》学习笔记一
今天,我主要给大家讲一下信息检索概念. 信息检索: 互联网时代的飞速发展使人们进入了信息爆炸时代,据统计全球的互联网用户已达到30亿,在各个网站及移动app在每个分钟 产生的数据量是巨大的,从而导致数 ...
- (32)forms组件(渲染自建规则:局部钩子函数和全局钩子函数)
要达成渲染自建规则 1.局部钩子函数(某个字段,自定意义规则,不如不能以sb开头,数据库已存在等) 2.全局钩子函数(校验两次密码是否一致) 3.使用css样式 register.html <! ...
- 【SpringBoot】服务器端主动推送SSE技术讲解
=====================16.高级篇幅之SpringBoot2.0服务器端主动推送SSE技术讲解 ============================ 1.服务端推送常用技术介绍 ...
- PythonStudy——第一阶段性测试
1.Python解释器,在2.x和3.x上分别采用的是什么默认编码8 2.定义字符串变量时,单引号,双引号,三引号什么区别? 3.编程语言可以分为哪三类,特点都是什么 4.定义一个变量有三个特性, 5 ...
- iso系统镜像刻录到光盘和U盘
使用UltraISO刻录 刻录U盘,点击文件,打开,选择镜像 启动,写入硬盘镜像选择U盘即可 刻录光盘 工具,刻录光盘映像,选择镜像,需要先插入光盘刻录机(有些电脑可能自带光驱盘,且有刻录功能,那么我 ...
- tomcat 端口修改和内存配置
端口号修改参考:https://jingyan.baidu.com/article/adc815139b12def722bf7377.html Tomcat内存溢出(windows) java.lan ...