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 }
  • 相关阅读:
    C# 延时不卡界面
    C++ 转C#
    CYQ数据库配置
    VB Modbus RTU CRC 校验
    开始写博客了
    简单工厂模式
    单例模式
    基础、hibernate目前应用的对比
    QT Creator 代码自动补全---快捷键设定
    C# CMD直接运行语句
  • 原文地址:https://www.cnblogs.com/systemEsc/p/3517546.html
Copyright © 2011-2022 走看看