热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

String常用方法

1.字符串长度:length()publicintlength();返回该字符串的长度publicclassStringTest{publicstaticvoidmain(Stri




1.字符串长度:length()

public int length();//返回该字符串的长度

public class StringTest {
public static void main(String[] args) {
String str = new String("我是豆豆");
System.out.println(str.length());
}
}
//结果:4

2.字符串某一位置字符:charAt()

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

注意:字符串中第一个字符索引是0,最后一个是length()-1

public class StringTest {
public static void main(String[] args) {
String str = new String("啦啦啦,我是豆豆");
System.out.println(str.charAt(3));
}
}
//结果:,

3.提取字串:substring()


  • public String substring(int beginIndex)

    该方法从beginIndex位置起,从当前字符串中取出剩余的字符作为一个新的字符串返回

  • public String substring(int beginIndex,int endIndex)

    该方法从beginIndex位置起,从当前字符串中取出到endIndex-1位置的字符作为一个新的字符串返回

public class StringTest {
public static void main(String[] args) {
String str = new String("啦啦啦,我是豆豆");
System.out.println(str.substring(4));
System.out.println(str.substring(4,6));
}
}
//结果:我是豆豆
//结果:我是

4.字符串比较:compareTo()、equals()


  • public int compareTo(String anotherString)

    该方法是对字符串内容按字典顺序进行大小比较,通过返回的整数值指明当前字符串与参数字符串的大小关系。若当前对象比参数大则返回正整数,反之返回负整数,相等返回0。

  • public int compareToIgnore(String anotherString)

    与compareTo方法相似,但忽略大小写

  • public boolean equals(Object anotherObject)

    比较当前字符串和参数字符串,在两个字符串相等的时候返回true,否则返回false。

  • public boolean equalsIgnoreCase(String anotherString)

    与equals方法相似,但忽略大小写

public class StringTest {
public static void main(String[] args) {
String str1 = new String("abc");
String str2 = new String("ABC");
int a = str1.compareTo(str2);//a>0
int b = str1.compareToIgnoreCase(str2);//b=o
boolean c = str1.equals(str2);//c=false
boolean d = str2.equalsIgnoreCase(str2);//d=true
}
}

5.字符串连接:concat()

public String concat(String str)//将参数中的字符串str连接到当前字符串的后面,效果等价于"+"

public class StringTest {
public static void main(String[] args) {
String str1 = new String("啦啦啦");
String str2 = str1.concat("我是豆豆");
System.out.println(str2);
}
}
//结果:啦啦啦我是豆豆

6.查找子串:indexOf()


  • public int indexOf(int ch/String str)

    用于查找当前字符串中字符或子串,返回字符或子串在当前字符串中从左边起首次出现的位置,若没有出现则返回-1。

  • public int indexOf(int ch/String str, int fromIndex)

    改方法与第一种类似,区别在于该方法从fromIndex位置向后查找。

  • public int lastIndexOf(int ch/String str)

    该方法与第一种类似,区别在于该方法从字符串的末尾位置向前查找。

  • public int lastIndexOf(int ch/String str, int fromIndex)

    该方法与第二种方法类似,区别于该方法从fromIndex位置向前查找。

public class StringTest {
public static void main(String[] args) {
String str = new String("啦啦啦,我是豆豆");
int a = str.indexOf('是');//5
int b = str.indexOf("我是");//4
int c = str.indexOf('啦',1);//1
int d = str.lastIndexOf('啦');//2
int e = str.lastIndexOf('豆',1);//-1
}
}

7.字符串中字符的大小写转换:toLowerCase()、toUpperCase()


  • public String toLowerCase()

    返回将当前字符串中所有字符转换成小写后的新串

  • public String toUpperCase()

    返回将当前字符串中所有字符转换成大写后的新串

public class StringTest {
public static void main(String[] args) {
String str = new String("MynameisSHENJIANTAO");
System.out.println(str.toLowerCase());
System.out.println(str.toUpperCase());
}
}
//结果:mynameisshenjiantao
//结果:MYNAMEISSHENJIANTAO

8.字符串中字符的替换:replace()


  • public String replace(char oldChar, char newChar)

    用字符newChar替换当前字符串中所有的oldChar字符,并返回一个新的字符串。

  • public String replaceFirst(String regex, String replacement)

    该方法用字符replacement的内容替换当前字符串中遇到的第一个和字符串regex相匹配的子串,应将新的字符串返回。

  • public String replaceAll(String regex, String replacement)

    该方法用字符replacement的内容替换当前字符串中遇到的所有和字符串regex相匹配的子串,应将新的字符串返回。

public class StringTest {
public static void main(String[] args) {
String str = new String("啦啦啦,我是豆豆");
System.out.println(str.replace('是','叫'));
System.out.println(str.replaceFirst("啦","嘿"));
System.out.println(str.replaceAll("啦","嘿"));
}
}
//结果:啦啦啦,我叫豆豆
//结果:嘿啦啦,我是豆豆
//结果:嘿嘿嘿,我是豆豆

9.是否包含:contains()

public boolean contains(String str)

判断字符串中是否有子字符串,如果有则返回true,没有则返回false

public class StringTest {
public static void main(String[] args) {
String str = new String("啦啦啦,我是豆豆");
System.out.println(str.contains("豆豆"));
}
}
//结果:true


推荐阅读
  • 开发笔记:实验7的文件读写操作
    本文介绍了使用C++的ofstream和ifstream类进行文件读写操作的方法,包括创建文件、写入文件和读取文件的过程。同时还介绍了如何判断文件是否成功打开和关闭文件的方法。通过本文的学习,读者可以了解如何在C++中进行文件读写操作。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • 本文介绍了解决二叉树层序创建问题的方法。通过使用队列结构体和二叉树结构体,实现了入队和出队操作,并提供了判断队列是否为空的函数。详细介绍了解决该问题的步骤和流程。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • IOS开发之短信发送与拨打电话的方法详解
    本文详细介绍了在IOS开发中实现短信发送和拨打电话的两种方式,一种是使用系统底层发送,虽然无法自定义短信内容和返回原应用,但是简单方便;另一种是使用第三方框架发送,需要导入MessageUI头文件,并遵守MFMessageComposeViewControllerDelegate协议,可以实现自定义短信内容和返回原应用的功能。 ... [详细]
  • Java SE从入门到放弃(三)的逻辑运算符详解
    本文详细介绍了Java SE中的逻辑运算符,包括逻辑运算符的操作和运算结果,以及与运算符的不同之处。通过代码演示,展示了逻辑运算符的使用方法和注意事项。文章以Java SE从入门到放弃(三)为背景,对逻辑运算符进行了深入的解析。 ... [详细]
  • 本文介绍了使用Spark实现低配版高斯朴素贝叶斯模型的原因和原理。随着数据量的增大,单机上运行高斯朴素贝叶斯模型会变得很慢,因此考虑使用Spark来加速运行。然而,Spark的MLlib并没有实现高斯朴素贝叶斯模型,因此需要自己动手实现。文章还介绍了朴素贝叶斯的原理和公式,并对具有多个特征和类别的模型进行了讨论。最后,作者总结了实现低配版高斯朴素贝叶斯模型的步骤。 ... [详细]
  • MySQL多表数据库操作方法及子查询详解
    本文详细介绍了MySQL数据库的多表操作方法,包括增删改和单表查询,同时还解释了子查询的概念和用法。文章通过示例和步骤说明了如何进行数据的插入、删除和更新操作,以及如何执行单表查询和使用聚合函数进行统计。对于需要对MySQL数据库进行操作的读者来说,本文是一个非常实用的参考资料。 ... [详细]
  • 正则表达式及其范例
    为什么80%的码农都做不了架构师?一、前言部分控制台输入的字符串,编译成java字符串之后才送进内存,比如控制台打\, ... [详细]
  • 通俗易懂玩QT:Qt 使用 QAxObject 类读写 Excel 文档(内附源码)
    Qt使用QAxObject类读写Excel文档因为工作需要,最近研究了一下使用Qt的QAxObject类实现对Excel文档的简单读写,查阅了很多资料 ... [详细]
author-avatar
修竹
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有