转自:https://blog.csdn.net/kaishizhangcheng/article/details/52332543

int indexOf(String str)
该方法用于返回当给定字符串在当前字符串中的位置,若当前字符串不包含给定字符串则返回-1。
重载的方法
int indexOf(String str,int formIndex),从指定下标处(包含)查询子串,返回返回当给定字符串在当前字符串中的位置,若当前字符串不包含给定字符串则返回-1。
相关的方法
int lastIndexOf(String str),该方法用于返回子字符串在该字符串中最后一次出现的下标。

  1. /**
  2. * int indexOf(String str)
  3. * 返回当给定字符串在当前字符串中的位置
  4. * 若当前字符串不包含给定字符串则返回-1
  5. * 重载的方法
  6. * int indexOf(String str,int formIndex)
  7. * @author zc
  8. */
  9. @Test
  10. public void testIndexOf(){
  11. // 0123456789012345
  12. String str="thinking in java";
  13. //查找in
  14. int index=str.indexOf("in");
  15. System.out.println(index);//2
  16. int index2=str.indexOf("ja");
  17. int index3=str.indexOf("java");
  18. System.out.println(index2);//12
  19. System.out.println(index3);//12
  20. if(str.indexOf("java")!=-1){
  21. String str2=str.replace("ja","jaaa");//thinking in jaaava
  22. System.out.println(str2);
  23. }
  24. //重载 indexOf(str,包含的起始下标),下标可越界
  25. int index4=str.indexOf("ja",16);
  26. System.out.println("重载的indexOf:"+index4);
  27. //lastIndexOf()
  28. int index5=str.lastIndexOf("i");
  29. System.out.println("最后一个i的下标:"+index5);
  30. }

String substring(int start,int end)
截取字符串,传入的两个参数分别为要截取边界的下标。
在java api 中,通常使用两个数字表示范围时,都是含头不含尾,即包含起始下标对应的内容,但不包含结束下标的处对应的内容。

  1. public static void main(String[] args) {
  2. //使用该方法截取域名
  3. String str="http://www.abcde.cn";
  4. String name=str.substring(11,15);
  5. System.out.println(name);
  6. //重载 substring(int index):从该下标到结束
  7. name=str.substring(11);
  8. System.out.println(name);
  9. //截取域名
  10. int point=str.indexOf(".");
  11. int end=str.lastIndexOf(".");
  12. String name1=str.substring(point+1,end);
  13. System.out.println(name1);
  14. }
  15. @Test
  16. public void test01(){
  17. String str2="http://www.abc.com.cn";
  18. int start=str2.indexOf(".")+1;
  19. int end=str2.indexOf(".",start);
  20. String name=str2.substring(start,end);
  21. System.out.println(name);
  22. }

String trim()
去除一个字符串两边的空白字符(如空格,tab)

  1. String str=" hello ";
  2. String trim=str.trim();
  3. System.out.println(trim);//hello

char charAt(int index)
 返回当前字符串中指定位置的字符

  1. //charAt:通过位置 获取内容
  2. String str="abcdef";
  3. char c=str.charAt(2);
  4. System.out.println(c);

* boolean startWith(String str)
* boolean endWith(String str)
* 判断当前字符串是否是以给定的字符串开始或结束的

  1. public static void main(String[] args) {
  2. //使用这两个方法判断是否是图片
  3. String str="zhangc.jpg";
  4. boolean starts=str.startsWith("zh");
  5. boolean end=str.endsWith(".jpg");
  6. System.out.println(starts);
  7. System.out.println(end);
  8. }

String toUpperCase()
String toLowerCase()
 将当前字符串中的英文部分转换为全大写或全小写

  1. public static void main(String[] args) {
  2. String str="Hellow World";
  3. str=str.toUpperCase();
  4. System.out.println(str);
  5. str=str.toLowerCase();
  6. System.out.println(str);
  7. }

static String valueOf()
String 提供了若干的静态重载的方法valueOf,可以将java中的其他类型转换为字符串类型
常用于将基本类型转换为字符串类型

  1. public static void main(String[] args) {
  2. int a=123;
  3. //valueOf()性能好一点
  4. String str=String.valueOf(a);
  5. System.out.println(str);
  6. double d=123.123;
  7. String str2=String.valueOf(d);
  8. //方法2,也可以将一个基本数据类型的数据转成String类型的变量
  9. String str3=1234f+"";
  10. System.out.println(str3);
  11. }

以下为检索某个字符在一个字符串中出现的所有下标的程序,可以使用charAt方法或intdexOf实现

  1. /**
  2. * 分别使用charAt()和indexOf()实现检索一个字符串中所有字符b出现的下标
  3. * @author zc
  4. */
  5. public class TCharAt {
  6. public static void main(String[] args) {
  7. String s="abcbcdbcgdgscbbvfb";
  8. for(int i=0;i<s.length();i++){
  9. if('b'==s.charAt(i)){
  10. System.out.println(i);
  11. }
  12. }
  13. }
  14. @Test
  15. public void test01(){
  16. String s="abcbcdbcgdgscbbvfb";
  17. int from=0;
  18. for(int i=0;i<s.length();i++){
  19. int index=s.indexOf("b", from);
  20. System.out.println(index);
  21. from=index+1;
  22. if(from>=s.length()){
  23. break;
  24. }
  25. }
  26. }
  27. }

String[] split(String regex)
将当前字符串按照满足正则表达式的部分进行拆分

然后将所有拆分后的部分返回

  1. public static void main(String[] args){
  2. String str="abc123def456ghi789jkl";
  3. //按照数字部分拆分字符串
  4. String[] result=str.split("\\d+");//最大匹配
  5. System.out.println(result.length);//4
  6. for(int i=0;i<result.length;i++){
  7. System.out.println(result[i]);
  8. }
  9. }
  10. @Test
  11. public void test02(){
  12. //字符串如果是末尾能够匹配上,所有末尾的 空 字符串会被忽略,切分的正则表达式应满足最大匹配
  13. String str="abc123def456ghi789jkl12313233";
  14. String[] result=str.split("\\d");
  15. for(int i=0;i<result.length;i++){
  16. System.out.println(result[i]);
  17. }
  18. System.out.println("len:"+result.length);//10,末尾的数字切分出来的 空 字符串会被忽略
  19. String str2="233abc123def456ghi789jk";
  20. String[] result2=str2.split("\\d");
  21. for(int i=0;i<result2.length;i++){
  22. System.out.println(result2[i]);
  23. }
  24. System.out.println("len:"+result2.length);//13
  25. }

String replaceAll(String regex,String str)
将当前字符串中满足正则表达式的部分替换为给定的字符串内容

  1. public static void main(String[] args) {
  2. String str="abc123def456ghi789jkl";
  3. /*
  4. * 将当前字符串中的数字部分替换为"#NUMBER"
  5. * */
  6. str=str.replaceAll("\\d","#NUMBER");
  7. System.out.println(str);
  8. str="abc123def456ghi789jkl";
  9. /**
  10. * 将英文部分替换为#CHAR#
  11. * */
  12. str=str.replaceAll("[a-zA-Z]+","#CHAR#");
  13. System.out.println(str);
  14. str=str.replaceAll("\\d+","#NUMBER");
  15. System.out.println(str);
  16. }

下面是我写的移除字符串中所有空格的两个方法

  1. /**
  2. * 删除字符串中的所有空格
  3. * @author zc
  4. */
  5. public class T11RemoveAllSpace {
  6. public static void main(String[] args) {
  7. String s=" ab cdf dfd dfsf dsfdsfe dsfdsfsfg ";
  8. s=s.trim();
  9. String[] eachs=s.split("\\s+");
  10. StringBuilder builder=new StringBuilder();
  11. for(int i=0;i<eachs.length;i++){
  12. builder.append(eachs[i]);
  13. }
  14. s=builder.toString();
  15. System.out.println(s);
  16. }
  17. //这种方法简单
  18. @Test
  19. public void test01(){
  20. String s=" ab cdf dfd dfsf dsfdsfe dsfdsfsfg ";
  21. s=s.replaceAll("\\s+","");
  22. System.out.println(s);
  23. }
  24. }

Java中String类常用方法(转)相关推荐

  1. java中(String)类常用方法

    作者简介: 博主在读计科双非本科,目前大二,正在学习JAVA,数据库,操作系统,计算机网络,数据结构,JAVA Web等- 个人主页:熬夜磕代码丶 作品专栏: java se 我变秃了,也变强了 给大 ...

  2. Java中String类的方法及说明

    String : 字符串类型 一.构造函数      String(byte[ ] bytes):通过byte数组构造字符串对象.      String(char[ ] value):通过char数 ...

  3. 【转载】Java中String类的方法及说明

    转载自:http://www.cnblogs.com/YSO1983/archive/2009/12/07/1618564.html String : 字符串类型 一.构造函数      String ...

  4. java中String的常用方法

    java中String的常用方法 1.length() 字符串的长度 例:char chars[]={'a','b'.'c'}; String s=new String(chars); int len ...

  5. Java中String类的concat方法___java的String字符串的concat()方法连接字符串和“+“连接字符串解释

    Java中String类的concat方法 在了解concat()之前,首先需要明确的是String的两点特殊性. 长度不可变 值不可变 这两点从源码中对String的声明可以体现: private ...

  6. 在java中String类为什么要设计成final

    在java中String类为什么要设计成final? - 胖胖的回答 - 知乎 https://www.zhihu.com/question/31345592/answer/114126087 转载于 ...

  7. java中String类的常用方法总结

    String类: String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.String类对象创建后不能修改,StringBuffer & St ...

  8. java 中String类的常用方法总结,玩转String类

    String类: String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.String类对象创建后不能修改,StringBuffer & St ...

  9. java中string类面试题_java中String类的面试题大全含答案

    1.下面程序的运行结果是()(选择一项) String str1="hello"; String str2=new String("hello"); Syste ...

最新文章

  1. [USACO07NOV]Cow Relays
  2. java语法基础(总结)
  3. Java-JPA:JPA
  4. Day 6:在 Java 虚拟机上使用 Grails 进行快速 Web 开发
  5. java jvm 加载类的顺序_java JVM-类加载静态初始化块调用顺序
  6. 微服务架构 —— 服务雪崩与容错方案
  7. 补遗篇之volatile
  8. Svchost进程应用技巧
  9. linux图标大全——这些你认识多少?
  10. Qt5.12安卓开发环境搭建
  11. 任意版本nodejs下载
  12. PL/SQL 连接mysql步骤
  13. Result的类型分析和总结
  14. QT QChartView显示坐标值
  15. 1144106-65-9,Bromo-PEG1-azide,Bromo-PEG1-N3叠氮基团可以通过点击化学与炔烃、BCN、DBCO反应,生成稳定的三唑键
  16. 云原生kubernetes七 :Pod进阶篇:污点-容忍度-亲和性-Affinity-调度
  17. 搭建传奇游戏,都需要准备什么东西。
  18. 色温(光源,环境,季节)
  19. 短视频社交小程序开发
  20. 第一届LeetCode刷题打卡赢现金活动开始啦,助力每一位想拿大厂offer的小伙伴!

热门文章

  1. python igraph使用教程
  2. macOS安装jdk 卸载jdk
  3. matlab cell 函数用法
  4. OSChina 周三乱弹 ——小时候,女孩子喜欢娃娃,长大后
  5. Sketch(二)——图标集画微信图标
  6. 把搜狗输入法词库导入Google拼音输入法
  7. 经典!材料科学基础的思维导图
  8. RHCSA第四天作业
  9. win8用命令行禁用数字签名,对win8电脑没有疑难解答的有效
  10. 计算机网络技术的英语怎么说,计算机网络技术,Computer network technology,音标,读音,翻译,英文例句,英语词典...