秋招做题需要,总结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类常见操作的更多相关文章

  1. Java 11 - Java String类

    Java String类 字符串广泛应用在Java编程中,在Java中字符串属于对象,Java提供了String类来创建和操作字符串. 创建字符串 创建字符串最简单的方式如下: String gree ...

  2. Java-Runoob:Java String 类

    ylbtech-Java-Runoob:Java String 类 1.返回顶部 1. Java String 类 字符串广泛应用 在Java 编程中,在 Java 中字符串属于对象,Java 提供了 ...

  3. Java String类详解

    Java String类详解 Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,很多时候,我们对它既熟悉又陌生. 类结构: public final ...

  4. JAVA String 类

    java String类中的常用方法:public char charAt(int index)返回字符串中第index个字符:public int length()返回字符串的长度:public i ...

  5. Java String类具体解释

    Java String类具体解释 Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,非常多时候,我们对它既熟悉又陌生. 类结构: public fin ...

  6. Java Object类 和 String类 常见问答 6k字+总结

    写在最前面 这个项目是从20年末就立好的 flag,经过几年的学习,回过头再去看很多知识点又有新的理解.所以趁着找实习的准备,结合以前的学习储备,创建一个主要针对应届生和初学者的 Java 开源知识项 ...

  7. java基础系列(一):Number,Character和String类及操作

    这篇文章总结了Java中最基础的类以及常用的方法,主要有:Number,Character,String. 1.Number类 在实际开发的过程中,常常会用到需要使用对象而不是内置的数据类型的情形.所 ...

  8. 《java入门第一季》之类(String类常见方法小叙)

    String类下面的构造方法和一些常见的方法: /* * 字符串:就是由多个字符组成的一串数据.也可以看成是一个字符数组. * 通过查看API,可以知道 * A:字符串字面值"abc&quo ...

  9. Java学习笔记之:Java String类

    一.引言 字符串广泛应用在Java编程中,在Java中字符串属于对象,Java提供了String类来创建和操作字符串. 创建字符串最简单的方式如下: String str= "Hello w ...

随机推荐

  1. 外网ssh内网Linux服务器holer实现

    外网ssh访问内网linux 内网的主机上安装了Linux系统,只能在局域网内访问,怎样从公网也能ssh访问本地Linux服务器? 本文将介绍使用holer实现的具体步骤. 1. 准备工作 1.1 安 ...

  2. .NET并行计算和并发4-Thread-Relative Static Fields and Data Slots

    Thread Local Storage: Thread-Relative Static Fields and Data Slots 文章摘自msdn library官方文档 可以使用托管线程本地存储 ...

  3. ipv4-only网络环境下访问ipv6站点

    使用6plat.org+openVPN(无需资金投入)进入ipv6网络 这里我们主要使用的是6plat.org提供的“46模块——IPv4到IPv6”功能,需要配合openVPN这个软件,支持wind ...

  4. solr增加中文分析器

    我的solr版本是5.3.0 1将jar包ik-analyzer-solr5-5.x.jar放入sor的web-inf的lib里面 2 在web-inf下面新建classes目录,再新增三个配置文件: ...

  5. Mat的详解

    [转]OpenCV中Mat的详解 每次碰到Mat都得反复查具体的用法,网上的基础讲解不多,难得看到一篇,赶快转来收藏~ 原文地址:http://www.opencvchina.com/thread-1 ...

  6. CH5702 Count The Repetitions

    题意 5702 Count The Repetitions 0x50「动态规划」例题 描述 定义 conn(s,n) 为 n 个字符串 s 首尾相接形成的字符串,例如: conn("abc& ...

  7. Java_IO_文件的续写_小笔记

    package IO; import java.io.FileWriter; import java.io.IOException; class FileWrite_WenJianXuXie { /* ...

  8. Dynamics 365 CRM large instance copy

    使用CRM 大家想必都做过copy. 从一个instance 复制到另外一个instance. 如果你是Dynamics 365 CRM 用户, 并且你的instance超过500GB,甚至1TB+的 ...

  9. docker-compose 安装redis sentinel,共享主机网络模式

    采坑记录: docker sentinel模式安装完后因为是使用bridge模式,所以只有docker中运行的程序才能访问.刚开始尝试使用端口映射,返现sentinel返回的地址依然是docker的内 ...

  10. 关于缓冲的认识---Frame Buffer

    关于缓冲的认识---Frame Buffer 重点来了: