Java中String类常用方法详解: concat(),format(),charAt(),indexOf(),substring(),compareTo(),split(),replaceAll

文章目录

    • 1.连接字符串 concat()
    • 2.创建格式化对象 format()
    • 3.获取字符串某一位置字符 charAt()
    • 4.获取字符串的长度 length()
    • 5.查找子串在字符串中的位置 indexOf()
    • 6.截取字符串的子串 substring()
    • 7.字符串比较 compareTo()
    • 8.字符串大小写转换 toLowerCase()【大写换小写】 toUpperCase()【小写换大写】
    • 9.split表达式 split()
    • 10.字符串替换 replaceAll()
    • 11.字符串进行比较的对象 equals() contains()
    • 12.equals() 和 contains()的区别不同
    • 13.字符串替换 replace()
    • 14.测试字符串是否以指定的后缀结束 endsWith()
    • 15.字符串的指定索引处返回字符的Unicode字符值 codePointAt()
    • 16.字符串是否为空 isEmpty()
      • 17.删除字符串的头尾空白符。trim()

1.连接字符串 concat()

代码非常详细,在这里不做过多解释 一眼明白点个小心心,有点模糊的直接复制运行一遍就懂了!

        String str=new String("abcdefg");String str1=new String("hijklmn");String concat = str.concat(str1);System.out.println("concat = " + concat);

运行结果

img

2.创建格式化对象 format()

        Date date=new Date();System.out.println("date = " + date);SimpleDateFormat tt=new SimpleDateFormat("YYYY-MM-dd");System.out.println("tt = " + tt);String format = tt.format(date);System.out.println("format = " + format);//简化代码System.out.println( new SimpleDateFormat("YYYY-MM-dd").format(new Date()));

运行结果:

img

在网上还看到关于formot这种用法 其具体参数什么的 博主分享是jdk8文档参考而来 感兴趣的可以看一下
但是 还是觉得 formot 上面的好用一点
        String st2 = String.format("%1$tY-%1$tm-%1$te", new Date());System.out.println(st2);

**运行结果:**个人觉得这个有点麻烦,也可能这个格式语句在别的地方大用 知道了解一哈

img

3.获取字符串某一位置字符 charAt()

        String str=new String("abcdefg");        char c = str.charAt(0);System.out.println("获取字符串某一位置字符 str.charAt(0) 结果是:" + c);

运行结果:

img

4.获取字符串的长度 length()

         String str=new String("abcdefg");  int length = str.length();System.out.println("获取字符串的长度 str.length(); 结果是:" + length);

运行结果:

img

5.查找子串在字符串中的位置 indexOf()

        String str=new String("abcdefg");   int a = str.indexOf("a");System.out.println("查找子串在字符串中的位置 str.indexOf(\"a\"); 结果是:" + a);

运行结果:

img

6.截取字符串的子串 substring()

public String substring(int beginIndex, int endIndex),该方法从beginIndex位置起,从当前字符串中取出到endIndex-1位置的字符
        String str=new String("abcdefg");          String substring = str.substring(5);String substring1 = str.substring(3,5);String substring2 = str.substring(0,2);System.out.println("截取字符串的子串 str.substring(5); 结果是: " + substring);System.out.println("截取字符串的子串 str.substring(3,5) 结果是:; " + substring1);System.out.println("截取字符串的子串 str.substring(0,2); 结果是:" + substring2);

运行结果:

img

7.字符串比较 compareTo()

        Integer cc=8;System.out.println("cc.compareTo(10) = " + cc.compareTo(10));System.out.println("cc.compareTo(5) = " + cc.compareTo(5));System.out.println("cc.compareTo(8) = " + cc.compareTo(8));
//        如果指定的数大于参数返回 -1。
//
//        如果指定的数小于参数返回 1。
//
//        如果指定的数与参数相等返回0。

运行结果:

img

8.字符串大小写转换 toLowerCase()【大写换小写】 toUpperCase()【小写换大写】

    //大转小String st=new String("HIJKLMN");String s = st.toLowerCase();System.out.println("s = " + s);//小转大String str=new String("abcdefg");   String s1 = str.toUpperCase();System.out.println("s1 = " + s1);

运行结果:

img

9.split表达式 split()

官方回答:split表达式,其实就是一个正则表达式。* ^ | 等符号在正则表达式中属于一种有特殊含义的字符, 如果使用此种字符作为分隔符,必须使用转义符即\加以转义。、

通俗点说就是把特殊格式的字符串 通过split去掉奇奇怪怪的格式 使字符串看起来更加顺眼一点。

        String dizhi="地球-中国-河南-郑州";String dizhi2="地球:巴基斯坦:河南:郑州";String[] split = dizhi.split("-");String[] split2 = dizhi2.split(":");System.out.println(split[0]+split[1]+split[2]+split[3]);System.out.println(split2[0]+split2[1]+split2[2]+split2[3]);

运行结果:

img

 突然想到 特定情况 我们需要使用UUID的时候 随机生成ID会有--符号 不好看 spilt也可以解决这个问题 但是不是最便捷的

10.字符串替换 replaceAll()

        UUID uuid = UUID.randomUUID();System.out.println("uuid = " + uuid);String[] split1 = uuid.toString().split("-");System.out.println("split1[0]+split1[1]+split1[2]+split1[3]+split1[4] = " +                        split1[0]+split1[1]+split1[2]+split1[3]+split1[4]);
//还可以使用replaceAll方法替换字符串 regex参数是需要替换的字符 replacement 替换之后显示的字符String s2 = uuid.toString().replaceAll("-", "");System.out.println("s2 " + s2);

运行结果:

img

11.字符串进行比较的对象 equals() contains()

        String str=new String("abcdefg");  String str1=new String("hijklmn");         if(str.equals("1")){System.out.println("输出错误");}else{System.out.println("输出正确");}boolean equals = str.equals(str1);System.out.println("equals = " + equals);boolean a1 = str.contains("a");System.out.println("a1 = " + a1);

运行结果:

img

12.equals() 和 contains()的区别不同

//        如果此字符串包含,contains的意思就是 我str字符串内若包含()内的char值 就返回true 反之false
//        那么到这个地方 心细的同学可能会发现 contains和equals不是一样啊 都是判断()内值是否存在 返回Boolean类型
//        其实并不是这样的 只是一个烟雾弹 细探根源
//        第一不同:
//        public boolean equals(Object anObject)
//        public boolean contains(CharSequence s)
//        其次:
//        equals只能判断两个变量的值是否相等。
//        contains常用与集合中判断某个对象是否含有这个元素
//
//       最后:
//        就明白了,equals是需要两个对象完全相同才会返回true,而contains是要循环遍历容器里的所有内容后判断是否包含对象。

13.字符串替换 replace()

         String str=new String("abcdefg");  String replace = str.replace("a", "AAA");System.out.println("replace = " + replace);

运行结果:

img

14.测试字符串是否以指定的后缀结束 endsWith()

//        endsWith() 方法用于测试字符串是否以指定的后缀结束。
//        如果是 显示为true 反之false
        String str=new String("abcdefg");  boolean d = str.endsWith("d");System.out.println("d = " + d);

运行结果:

img

15.字符串的指定索引处返回字符的Unicode字符值 codePointAt()

//        codePointAt()方法在字符串的指定索引处返回字符的Unicode字符值。第一个字符的索引为0,第二个字符的索引为1,依此类推。
//        更多Unicode字符值 如下图
        String str=new String("abcdefg");    int i = str.codePointAt(0);int i1 = str.codePointAt(1);int i2 = str.codePointAt(2);int i3 = str.codePointAt(3);System.out.println("i = " + i);System.out.println("i1 = " + i1);System.out.println("i2 = " + i2);System.out.println("i3 = " + i3);

运行结果:

img

img

16.字符串是否为空 isEmpty()

判断字符串是否为空 如果为空 返回true 如果不为空 返回 fales
        String str=new String("abcdefg");  boolean empty = str.isEmpty();System.out.println("empty = " + empty);

运行结果:

img

17.删除字符串的头尾空白符。trim()

trim() 方法用于删除字符串的头尾空白符。

        String sin=new String("   www.baidu.com    ");String trim = sin.trim();System.out.println("trim = " + trim);

运行结果:

img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/554682.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

技术编辑帮你win7系统查看显卡容量大小的详细技巧

技术帮你win7系统查看显卡容量大小的详细技巧

索尼首次展示其Airpeak电影摄制无人机

索尼首次展示其Airpeak电影摄制无人机 在模糊的新闻稿和同样神秘的视频中宣布Airpeak仅仅两个月后,索尼就在虚拟CES 2021演示中展示了其新无人机。Airpeak支持Sony的Alpha系列无反光镜相机,并使用AI在飞过天空时保持图像稳定。 索尼首次展示其Airpeak电…

Guava中基础工具类Joiner的使用字符串拼接方法 joiner.on

Guava 中有一些基础的工具类,如下所列: 1,Joiner 类:根据给定的分隔符把字符串连接到一起。MapJoiner 执行相同的操作,但是针对 Map 的 key 和 value。 2,Splitter 类:与 Joiner 操作相反的类…

开机按f12怎么恢复系统 开机按f12恢复系统

有时候我们可能会遇到系统损坏或者是系统崩溃的问题,都会开不了机.那么开机按f12怎么恢复系统呢?用户并不知道如何操作,相信用户都很感兴趣该问题的解决方法,下面我在win7纯净版找到关于开机按f12恢复系统的详细操作教程,需要的朋友可以参考一下. 开机按f12怎么恢复系统 1.重启…

手把手教你dns服务器未响应导致无法上网怎么办

dns服务器未响应怎么办?其实每个问题都是有着相对应的原因外加解决方法的,我这刚好就有一篇关于如何解决dns服务器未响应的方法,现在就来分享给各位小伙伴们哈~ 不知道小伙伴们在使用电脑进行上网的时候,有木有遇到过这样子的一个…

Java 常用日志框架介绍

一、日志简介 1.1 日志是什么(WHAT) 日志:记录程序的运行轨迹,方便查找关键信息,也方便快速定位解决问题。 通常,Java程序员在开发项目时都是依赖Eclipse/IDEA等集成开发工具的Debug 调试功能来跟踪解决Bu…

淘集集收货地址在哪改 淘集集添加收货地址方法

淘集集app上购物方便且便宜,所以很多人都在使用。但有些人不知道该如何添加和修改收货地址。所以为大家详细介绍下方法。 淘集集收货地址在哪改 淘集集添加收货地址方法   淘集集收获地址在哪改   1、由于购物下单之前必须填写收货地址,因此有需要的…

Java中记录日志方式比较及相关建议

一、记录日志的几种方式比较 为了测试,我在测试类中写了七种打印方式,分别如下: Slf4j RunWith(SpringRunner.class) SpringBootTest public class ErrorLogTest {Testpublic void ss(){try{float xx 1/0;log.info("xx:{}&…

word打字覆盖后面的字 教你word打字覆盖后面的字怎么办

我之所以会知道解决word打字覆盖后面的字这个问题的方法,是因为之前遇到这个情况的时候也不知道该如何处理了,不过幸亏一个朋友告诉了我解决这个问题的办法,然后我就多了解了一下子这方面的知识,所以我现在就将解决这个问题的方法…

Windows7系统资源怎么看?

在平时的工作中,我们会安装很多软件,虽然用完卸载了,但是还是会有残留占用资源,于是我们就得去看一下系统资源,可是很多用户不知道系统资源怎么看?其实方法很简单,如果你不知道Windows7系统资源…

Collectors.collectingAndThen()Collectors.collectingAndThen 去重Stream分组groupBy后取单一字段值、取列表第一个值方式

Collectors.collectingAndThen() Java 8 流的新类 java.util.stream.Collectors 实现了 java.util.stream.Collector 接口,同时又提供了大量的方法对流 ( stream ) 的元素执行 map and reduce 操作,或者统计操作。 Collectors.collectingAndThen() 函数应…

EasyBoot如何使用?EasyBoot制作多系统启动盘教程

在平时的工作中,我们会安装很多软件,虽然用完卸载了,但是还是会有残留占用资源,于是我们就得去看一下系统资源,可是很多用户不知道系统资源怎么看?其实方法很简单,如果你不知道Windows7系统资源…

问题:在使用dubbo 2.5.3之前的版本@Service来发布服务时,当该服务中有@Transactional,是无法正常发布的?

问题:在使用dubbo 2.5.3之前的版本Service来发布服务时,当该服务中有Transactional,是无法正常发布的? 解决方案: 因为事务TransactionManagement默认是使用了jdk的代理即基于接口的代理,必须改成基于类的代理,servi…

win7发现不了无线网络怎么办 win7发现不了无线网络的解决办法

今天来跟各位说说win7发现不了无线网络怎么办。 1.我们单击右下角的无线网络以打开网络和共享中心。 2.单击“更改适配器设置”。 3.在“网络连接”窗口中,如果网络连接中的无线网络显示为灰色,则右键单击“启用”。 4.在网络连接中没有无线网络连接&…

win7分辨率不能调怎么办 win7系统分辨率不能调的解决方案

win7分辨率不正常怎么回事?分辨率为什么不能调?win7分辨率不能调是什么原因?怎么来解决win7分辨率不能调的问题?现在小编就分享一篇关于win7系统分辨率不能调的解决方案。 分辨率对系统来说是相当重要的,这关系到系统桌面屏幕的清晰度,如果调得不好…

Mybatis-Plus字段策略FieldStrategy详解

文章目录一、官方文档二、字段策略介绍1、FieldStrategy作用2、FieldStrategy类型3、FieldStrategy配置全局策略配置单字段策略配置三、实战说明1.默认策略 - NOT_NULL2.忽略判断-IGNORED3.从不处理-NEVER4.字符不为空-NOT_EMPTY5.跟随全局-DEFAULT总结一、官方文档 Mybatis-P…

移动硬盘接口坏了怎么办解决教程

移动硬盘由于在使用中掉落或者经常插拔,会导致移动硬盘的接口的损坏,其实就是移动硬盘端的usb接口的损坏,而很多时候只是这个接口的焊点松动,有时候确是本身掉落金属手指导致损坏,而其实解决方法真正有效的有两种。 移…

任意门怎么用团发_衣柜门选用什么材料好?小编在这里告诉你

衣柜是美观家庭必不可少的,它我们的空间看起来更整洁。但是衣柜的材料值得我们好好考虑一下。衣柜门有哪些材质1、铝合金铝合金材质的衣柜门在日常生活中比较常见,使用得比较多。这是因为其环保性能比较好,而且十分耐用,还具有较强…

Google Gson API 介绍与使用

文章目录Gson基本操作Gson 概述与下载Gson (反)序列化 Java 对象JsonElement Json 元素JsonObject Json 对象JsonArray Json 数组JsonParser Json 解析GsonBuilder 构建 GsonJsonElement的简单说明JsonElement:JsonPrimitive:JsonNull:JsonArray:JsonObj…

移动硬盘读取速度一般是多少

移动硬盘现在已经普及很高了,几乎有存储需要的朋友都有一个移动硬盘,而且现在的移动硬盘已经升级到usb3.0的了,以前的usb2.0的移动硬盘逐渐淘汰,那么很多朋友在问移动硬盘的读取速度一般是多少算正常呢,下面就给大家测…