zoukankan      html  css  js  c++  java
  • String类中常用的操作

     获取:

    获取字符串的长度(注意是方法,不是跟数组的属性一样的)  int length();

    1 public static void getLength(){
    2     String s = "java01";
    3     int len = s.length();
    4     System.out.println(len);
    5 }

    根据位置,获取该位置的那一个字符(只能是单个字符)   char charAt(int index);

    复制代码
    1 //根据指定位置获取对应的那个字符,只能是一个字符不能是字符串
    2 public static void getChar(){
    3      String s1 = "java01";
    4      char ch = s1.charAt(3);
    5      System.out.println(ch);
    6     //s1.charAt(45);当访问到字符串中不存在的角标是会发生StringIndexOutOfBoundsException,即字符串角标越界异常
    7 }
    复制代码

    根据字符或字符串获取索引,即根据字符或字符串获取该字符或字符串在整个字符串中的位置,如果字符串中没有该字符或字符串会返回-1

    int indexOf(int ch):返回的是ch在字符串中第一次出现的位置

    int indexOf(int ch,int fromIndex):从fromIndex指定位置开始查找,获取ch在字符串中出现的位置

    int indexOf(String str):返回的是str在字符串中第一次出现的位置
    int indexOf(String str,int fromIndex):从fromIndex指定位置开始查找,获取str在字符串中出现的位置

    复制代码
    1 public static void getIndexOf(){
    2     String s = "javascript";
    3     int x1 = s.indexOf('s');
    4     int x2 = s.indexOf('a',2);
    5     int x3 = s.indexOf("script");
    6     int x4 = s.indexOf("script",2);
    7     System.out.println("x1="+x1+",x2="+x2+",x3="+x3+",x4="+x4);
    8 }
    复制代码

    反向索引一个字符或字符串出现的位置

    1 public static void getLastIndexOf() {
    2     String s = "javascript";
    3     int x = s.lastIndexOf('a');
    4     System.out.println("x="+x);
    5}

    获取字符串中的一部分,即获取子串     String substring(begin);//从指定位置开始到结尾     String substring(begin,end);//,指定开始和结尾 包含头不包含尾

    1 public static void getSubstring(){
    2     String s1 = "javascript";
    3     String s2 = s1.substring(4);
    4     String s3 = s1.substring(0,5);
    5     System.out.println("s2="+s2+",s3="+s3);
    6 }

    转换:

    将字符数组转成字符串

    构造函数:String(char[])
                  Stirng(char[],fffset,count):将字符数组中的一部分转换字符串

    静态方法:(直接用String类名调用,如:String s = String.copyValueOf())
                  static String copyValueOf(char[]);
                  static String copyValueOf(char[] ,int offset, int count);(offset表示起始位,count表示个数.如果超过了字符数组的长度,也发生字符串角标越界)
          
                //ValueOf这个方法除了可以将字符数组变成字符串之外,也可以将其他基本数据类型变成字符串
                static String valueOf(char[]);
                static String valueOf(char[] data, int offset, int count)

    复制代码
     1 public static void CharsToString(){
     2     char[] arr ={'j','a','v','a','s','c','r','i','p','t'};
     3     //通过String类的构造函数将字符数组转成字符串(可以将字符数组的一部分转成字符串)
     4     String s1 = new String(arr);
     5     String s2 = new String(arr,2,7);
     6     System.out.println("s1="+s1+",s2="+s2);
     7     
     8   //通过String类中的静态方法将字符数组转成字符串(可以将字符数组的一部分转成字符串)
     9     String s3 = String.copyValueOf(arr);
    10     String s4 = String.copyValueOf(arr, 2, 7);
    11     System.out.println("s3="+s3+", s4="+s4);
    12 }
    复制代码

    将字符串转成字符数组   char[] toCharArray();

    复制代码
    1 public static void StringToChar(){
    2     String s = "javascript";
    3     char[] arr = s.toCharArray();
    4     for(char arrs : arr){
    5         System.out.println(arrs);
    6     }
    7 }
    复制代码

    将字节数组转成字符串(只能用构造函数)

    String(byte[])
    Stirng(byte[],fffset,count):将字节数组中的一部分转

    1 public static void ByteToString(){
    2     byte[] arr ={'j','a','v','a','s','c','r','i','p','t'};
    3     String s1 = new String(arr);
    4     String s2 = new String(arr,5,6);
    5     System.out.println("s1="+s1+",s2="+s2);
    6 }

    将字符串转成字节数组(字符串和字节数组在转换过程中,是可以指定编码表的。)      byte[] getBytes();

    复制代码
    1 public static void StringToBytes(){
    2     String s1 = "javascript";
    3     byte[] arr = s1.getBytes();
    4     for(byte arrs : arr){
    5         System.out.println((char)arrs);
    6     }
    7 }
    复制代码

    将基本的数据类型转成字符串

    static String valueOf(int)        

    static String valueOf(double)

    3+"";     String.valueOf(3);//这是一样的

    将字符串转成大写或者小写           String toUpperCase();            String toLowerCase();

    1 public static void ToUpper_Lower(){
    2     String s1 = "javascript";
    3     String s2 = s1.toUpperCase();//转成大写
    4     String s3 = s2.toLowerCase();//转成小写
    5     System.out.println("s2="+s2+",s3="+s3);    
    6 }

    判断:

    字符串中是否含某一个子串(不能判断是否包含某一个字符,只能是字符串)   boolean contains(str);

    特殊之处:indexOf(str)可以索引str第一次出现位置,如果返回-1,表示该str不在字符串中存在  所以也可以用于对指定判断是否包含 该方法既可以判断又可以获取出现的位置
    只用于判断时用contains,既要判断又要获取位置用indexOf

    1 public static void containsDemo() {
    2     String s = "javascript";
    3     boolean b = s.contains("java");
    4     System.out.println(b);
    5 }

    字符中是否有内容   boolean isEmpty():就是判断长度是否为0

    1 public static void isEmptyDemo() {
    2     String s = " ";//空格也是一个字符
    3     boolean b = s.isEmpty();
    4     System.out.println(b);
    5 }

    字符串是否以指定的内容开头(接受的是字符串) boolean startsWith(str)

    字符是否是以指定内容结尾   boolean endsWith(str);

    1 public static void startsWith_endsWith() {
    2     String s = "Array.java";
    3     boolean b1 = s.startsWith("Array");//开发中可以用于判断该文件名称是否是Array单词开头
    4     boolean b2 =s.endsWith(".java");//开发中可以用于判断该文件名的后缀是否是.java文件
    5     System.out.println("b1="+b1+",b2="+b2);        
    6 }

    判断字符串内容是否相同(复写了Object类中的equals方法,定义了自己的比较方式,比较字符串内容是否相同,相同为true,不相同为false)  boolean equals(str);

    复制代码
    1 public static void equalsDemo() {
    2     String s1 = "javascript";
    3     String s2 = "javascript";
    4     String s3 = "html+CSS";
    5     boolean b1 = s1.equals(s2);
    6     boolean b2 = s1.equals(s3);
    7     System.out.println("b1="+b1+",b2="+b2);
    8 }
    复制代码

    判断内容是否相同,并忽略大小写    boolean equalsIgnoreCase();

    对两个字符串进行自然顺序的比较(该方法能比较出谁大谁小,而equals只是比较两个对象是否相等)   int compareTo(string);

    对象之间的比较用的是compareTo方法,基本数据类型数据之间的比较用的是大于号,小于号,等于号这些运算符

    复制代码
    1 public static void compareToDemo() {
    2     String s1 = "javascript";
    3     String s2 = "javascript";
    4     String s3 = "java";
    5     int b1 = s1.compareTo(s2);
    6     int b2 = s1.compareTo(s3);
    7     int b3 = s3.compareTo(s1);
    8     System.out.println("b1="+b1+",b2="+b2+",b3="+b3);
    9 }
    复制代码

    其他常用的方法:

    替换(将字符串中的某个字符或某部分字符串替换)
        String replace(oldchar,newchar);替换一个字符
        String replace(CharSequence target, CharSequence replacement);可以替换一个字符串

    1 public static void replaceDemo() {
    2     String s = "javascript";
    3     String s1 = s.replace('a', 'b');
    4     String s2 = s.replace("java", "php");
    5     System.out.println("s1="+s1+",s2="+s2);
    6 }

    切割(返回的是一个字符串数组)     String[] split(regex);

    复制代码
    1 public static void splitDemo() {
    2     String s = "java,javascript,php";
    3     String[] ss = s.split(",");//这里要是双引号
    4     for(String sss : ss){
    5         System.out.println(sss);
    6     }
    7 }
    复制代码

    将字符串两端的多个空格去除   String trim();

    1 public static void trimDemo(){
    2     String s = "   javascript     "
    3     String ss  = s.trim();
    4     System.out.println(s);
    5     System.out.println(ss);
    6 }
  • 相关阅读:
    搭建非域AlwaysOn win2016+SQL2016
    从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点)
    从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)
    从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)
    从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)
    四、基于Windows 2012配置SQL Server 2014 AlwaysOn
    三、安装SQLserver 2014(For AlwaysOn)
    二、 Windows 2012配置故障转移(For SQLServer 2014 AlwaysOn)
    Mybatis-SQL语句构建器类及日志
    Mybatis-JavaAPI
  • 原文地址:https://www.cnblogs.com/systemEsc/p/3517546.html
Copyright © 2011-2022 走看看