【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 ...
随机推荐
- C语言里有没有像C++里面的sort函数一样的函数?有!
C 库函数 - qsort() 描述 C 库函数 void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void ...
- VC++封装的时间类
一.使用方法 首先要在工程中加入TimeNow.cpp和TimeNow.h文件 1.把.cpp与.h文件放在放在工程文件夹. 2.项目(progect)-->属性(properties)--&g ...
- 2018年4月中旬的PTA(三)
C高级第三次PTA作业(1) 题目6-1 输出月份英文名 1.设计思路 (1)算法(子函数) 第一步:定义字符型一级指针子函数名getmonth,形参整型n. 第二步:定义长度为12的字符数组指针mo ...
- 【Java】字节数组转换工具类
import org.apache.commons.lang.ArrayUtils; import java.nio.charset.Charset; /** * 字节数组转换工具类 */ publi ...
- 作用域&&闭包
在了解闭包之前,先了解作用域一,作用域简单来说就是变量和函数可以访问的范围,在es5中变量作用域一般分为全局作用域和局部作用域,这个主要依据是全局变量还是局部变量 情景1: <script> ...
- Arch Linux 独特的包管理器相关名词解释及用法对照
https://wiki.archlinux.org/index.php/PacmanPacman包管理器是Arch Linux的主要特色之一.它结合了简单的二进制包格式和易于使用的构建系统.pacm ...
- 算法笔记 3.2 codeup1934 找X
#include <stdio.h> ; int a[maxn]; int main(void){ int n; while(scanf("%d", &n)!= ...
- Linux tmpwatch命令详解
Linux tmpwatch命令 Linux tmpwatch命令用于删除暂存文件. 执行tmpwatch指令可删除不必要的暂存文件,您可以设置文件超期时间,单位以小时计算 用法: tmpwatch ...
- Centos7创建CA和申请证书 转自https://www.cnblogs.com/mingzhang/p/8949541.html
Centos7.3创建CA和申请证书 openssl 的配置文件:/etc/pki/tls/openssl.cnf 重要参数配置路径 dir = /etc/pki/CA ...
- django模板语言循环字典,及forloop
views: from django.shortcuts import render,redirect from django.shortcuts import HttpResponse # Crea ...