zoukankan      html  css  js  c++  java
  • JAVA中字符串常见操作

    String str1="hello,world";
    String str2="Hello,World";

    1.字符串的比较:
    例,
    System.out.println(str1.compareTo(str2));
    System.out.println(str1.compareToIgnoreCase(str2));

    2.字符串的查找:                                                              
    注释:indexOf() 方法对大小写敏感!
          如果要检索的字符串值没有出现,则该方法返回 -1。
          当字符串中多次出现相同的字符串时,此方法返回的值为第一次出现的位置的索引值。
    例,
    System.out.println(str1.IndexOf("w"));
    System.out.println(str1.lastIndexOf("o"));

    3.查找某一位置的一个字符:
    例,
    System.out.println(str1.charAt(1));           //输出:h


    4.获取字符串的长度:
    例,
    System.out.println(str1.length());

    5.截取字符串:
    str.substring(int startIndex)
    str.substring(int startIndex,int endIndex)

    例,
    System.out.println(str1.substring(1));       
    System.out.println(str1.substring(1,3));    

    6.字符串大小写转换:
    str.toLowerCase() 转换为小写
    str1.toUpperCase() 转换为大写

    扩展:

      java string,需要进行首字母大写改写,就是先将首字母截取,转化成大写然后再串上后面的。

      例,String str = "this is Java";

        System.out.println(str.substring(0, 1).toUpperCase()+str.substring(1));//输出:This is Java


    7.字符串的替换:
    注释:replace(CharSequence target, CharSequence replacement) ,用replacement替换所有的target,两个参数都是字符串。
          replaceAll(String regex, String replacement) ,用replacement替换所有的regex匹配项,regex很明显是个正则表达式,replacement是字符串。
          replaceFirst(String regex, String replacement) ,基本和replaceAll相同,区别是只替换第一个匹配项。

    例,
    System.out.println(str2.replace("ll","y"));       //输出:Heyo,World

    8.字符串的分割:
    split(String regex)
    注释:如果用“.”作为分隔的话,必须是如下写法,String.split("\."),这样才能正确的分隔开,不能用String.split(".");
          如果用“|”作为分隔的话,必须是如下写法,String.split("\|"),这样才能正确的分隔开,不能用String.split("|");  “.”和“|”都是转义字符,必须得加"\";
          如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如,“acount=? and uu =? or n=?”,把三个都分隔出来,可以用String.split("and|or");

    例,
    System.out.println(Arrays.toString(str1.split(",")));

    9、equals()和==
    equals()方法比较字符串对象中的字符,==运算符比较两个对象是否引用同一实例。

    例,String s1="Hello";
      String s2=new String(s1);
      s1.equals(s2);   //true
      s1==s2;   //false

          !s1.equals(s2); //false

    10.字符串的连接:
    例,
    System.out.println(str1.concat(str2));//输出:hello,worldHello,World

    11.字符串格式化:

    例,String str = "this is Java"; 

      System.out.println(String.format("Hi %s", str));//输出:Hi this is Java



    **************** StringBuffer/StringBuilder类型 ******************************

    Java中的String类型是不可改变字符串,所谓的不可改变就是,一旦你对它赋值以后,它的值就不会再发生变化。

    当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。

    和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。

    StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。

    由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。


    11.字符串的删除:
    注释:String类型的字符串不能做修改,必须用StringBuffer或者StringBuilder类型。
    StringBuffer delete(int startIndex,int endIndex)
    StringBuffer deleteCharAt(int loc)

    例,
    System.out.println(str11.delete(0,3));

    12.将字符或字符串的插入已有的字符串:
    StringBuffer insert(int index,String str)
    StringBuffer insert(int index,char ch)
    StringBuffer insert(int index,Object obj)

    例,
    System.out.println(str11.insert(0,"yyy"));

    13.字符串的替换:
    注释:StringBuffer类型的字符串替换可以替换一段字符串。
    StringBuffer replace(int startIndex,int endIndex,String str)

    例,
    System.out.println(str11.replace(2,5,"ha"));   //heha,world

    14.字符串的添加:
    StringBuffer append(String str)

    例,
    System.out.println(str11.append("pp"));


    15.字符串的反转:
    StringBuffer reverse()

    例,
    System.out.println(str11.reverse());


    ****************String和StringBuffer,StringBuilder之间的转换*******************

    String -> StringBuffer ---- StringBuffer sb=new StringBuffer(String)

    StringBuffer -> String ---- String s=StringBuffer.toString();

  • 相关阅读:
    ubuntu的php7与apache2的环境搭建
    git服务器搭建post-receive 钩子部署服务端代码
    node redis安装与使用
    微信小程序坑集
    微信小程序登录
    mobx react
    react-native-router-flux 下部导航
    java
    java
    java
  • 原文地址:https://www.cnblogs.com/Downtime/p/7761460.html
Copyright © 2011-2022 走看看