• 使用String


      1 package com.jdk7.chapter5;
      2 
      3 public class UseString {
      4     
      5     /**
      6      * 如果源字符串中匹配有个多个目标字符串,则取最后一个的起始索引号
      7      * @param src
      8      * @param dest
      9      */
     10     public static void findStr(String src, String dest){
     11         if(dest==null){
     12             System.out.println("目标字符串不能为空!");
     13         }
     14         System.out.println("src.indexOf(dest) = "+src.indexOf(dest));
     15         System.out.println("src.indexOf(dest, 4) = "+src.indexOf(dest, 4));
     16         System.out.println("src.lastIndexOf(dest) = "+src.lastIndexOf(dest));
     17         System.out.println("src.lastIndexOf(dest, 4) = "+src.lastIndexOf(dest, 4));
     18     }
     19     
     20     public static void subStr(String src){
     21         if(src==null){
     22             System.out.println("源字符串不能为空!");
     23         }
     24         System.out.println("src.substring(2) = "+src.substring(2));
     25         System.out.println("src.substring(4, 10) = "+src.substring(4, 10));
     26     }
     27     
     28     public static void replaceStr(String src){
     29         if(src==null){
     30             System.out.println("源字符串不能为空!");
     31         }
     32         System.out.println(src.replace('a', 'i'));
     33         System.out.println(src.replaceFirst("s", "p"));
     34         System.out.println(src.replaceAll("s", "y"));
     35     }
     36     
     37     public static void toUpperOrLower(String src){
     38         if(src==null){
     39             System.out.println("源字符串不能为空!");
     40         }
     41         System.out.println(src.toUpperCase());
     42         System.out.println(src.toLowerCase());
     43     }
     44     
     45     public static void charAt(String src){
     46         if(src==null){
     47             System.out.println("源字符串不能为空!");
     48         }
     49         System.out.println("src.charAt(5) = "+src.charAt(5));
     50         //字符串和字符不能自动进行类型转换,所以没法正常打印
     51         System.out.println(src.toCharArray());
     52     }
     53     
     54     /**
     55      * 比较规则为:从第一个字符编码开始比较,如果第一个字符编码比目标字符编码小则返回负数,如果相等则返回0,如果比目标字符编码大则返回正数,
     56      * 返回的值为字符编码与目标字符编码之差
     57      * @param src
     58      * @param dest
     59      */
     60     public static void compare(String src,String dest){
     61         if(src==null || dest==null){
     62             System.out.println("源字符串或目标字符串不能为空!");
     63         }
     64         System.out.println("两个字符串进行比较的结果为: "+src.compareTo(dest));
     65     }
     66     
     67     public static void equals(String src, String dest){
     68         if(src==null){
     69             System.out.println("源字符串不能为空!");
     70         }
     71 //        System.out.println("src.startsWith("T") = "+src.startsWith("T"));
     72 //        System.out.println("src.endsWith("!") = "+src.endsWith("!"));
     73         System.out.println("src.equals(dest) = "+src.equals(dest));
     74         System.out.println("src.equalsIgnoreCase(dest) = "+src.equalsIgnoreCase(dest));
     75     }
     76     
     77     public static void startWith(){
     78         
     79     }
     80     
     81     public static void endWith(){
     82         
     83     }
     84     
     85     public static void regex(){
     86         String src = "aab      aaa  bb    ab";
     87         String pattern = "^[a-zA-Z| ]$";
     88         System.out.println("src = "+src+"	pattern: "+pattern);
     89         System.out.println("src匹配pattern = "+src.matches(pattern));
     90         System.out.println("用一个空格替换第一个连续两位以上的制表符 >"+src.replaceFirst("\s{2,}", " "));
     91         System.out.println("用一个空格替换所有连续两位以上的制表符 >"+src.replaceAll("\s{2,}", " "));
     92         
     93         String[] strA = src.split("\s{2,}");
     94         System.out.print("以连续制表符分隔后的数组为>");
     95         for(int i=0;i<strA.length;i++){
     96             System.out.print(strA[i]+" ");
     97         }
     98         System.out.println();
     99         
    100         String[] strB = src.split("\s{2,}", 3);
    101         System.out.print("已连续制表符分隔最多3段的数组为>");
    102         for(int i=0;i<strB.length;i++){
    103             System.out.print(strB[i]+" ");
    104         }
    105         System.out.println();
    106     }
    107     
    108     
    109     public static void main(String[] args) {
    110         String src = "This is a string Object!";
    111         String dest = "is";
    112         System.out.println("==============查找String中目标字符串所在索引号==============");
    113         UseString.findStr(src, dest);
    114         System.out.println("==============截取String中目标字符串==============");
    115         UseString.subStr(src);
    116         System.out.println("==============替换String中的某些字符串==============");
    117         UseString.replaceStr(src);
    118         System.out.println("==============将String字符串统一变大写或小写==============");
    119         UseString.toUpperOrLower(src);
    120         System.out.println("==============获取String中某个位置的字符==============");
    121         UseString.charAt(src);
    122         System.out.println("==============比较源字符串和目标字符串,比较原则从首字符开始比较字符编码,返回结果为字符编码差值==============");
    123         UseString.compare(src, dest);
    124         UseString.compare(src, src);
    125         UseString.compare(src, "A");
    126         System.out.println("==============比较两个字符串是否相等,分是否区分大小写两种情况==============");
    127         UseString.equals(src, "esgt");
    128         UseString.equals(src, "THIS IS A STRING OBJECT!");
    129         UseString.equals(src, src);
    130         System.out.println("==============字符串和正则表达式是否匹配,以及使用正则表达是分隔字符串==============");
    131         UseString.regex();
    132     }
    133 }
    134 
    135 执行结果为:
    136 ==============查找String中目标字符串所在索引号==============
    137 src.indexOf(dest) = 2
    138 src.indexOf(dest, 4) = 5
    139 src.lastIndexOf(dest) = 5
    140 src.lastIndexOf(dest, 4) = 2
    141 ==============截取String中目标字符串==============
    142 src.substring(2) = is is a string Object!
    143 src.substring(4, 10) =  is a 
    144 ==============替换String中的某些字符串==============
    145 This is i string Object!
    146 Thip is a string Object!
    147 Thiy iy a ytring Object!
    148 ==============将String字符串统一变大写或小写==============
    149 THIS IS A STRING OBJECT!
    150 this is a string object!
    151 ==============获取String中某个位置的字符==============
    152 src.charAt(5) = i
    153 This is a string Object!
    154 ==============比较源字符串和目标字符串,比较原则从首字符开始比较字符编码,返回结果为字符编码差值==============
    155 两个字符串进行比较的结果为: -21
    156 两个字符串进行比较的结果为: 0
    157 两个字符串进行比较的结果为: 19
    158 ==============比较两个字符串是否相等,分是否区分大小写两种情况==============
    159 src.equals(dest) = false
    160 src.equalsIgnoreCase(dest) = false
    161 src.equals(dest) = false
    162 src.equalsIgnoreCase(dest) = true
    163 src.equals(dest) = true
    164 src.equalsIgnoreCase(dest) = true
    165 ==============字符串和正则表达式是否匹配,以及使用正则表达是分隔字符串==============
    166 src = aab      aaa  bb    ab    pattern: ^[a-zA-Z| ]$
    167 src匹配pattern = false
    168 用一个空格替换第一个连续两位以上的制表符 >aab aaa  bb    ab
    169 用一个空格替换所有连续两位以上的制表符 >aab aaa bb ab
    170 以连续制表符分隔后的数组为>aab aaa bb ab 
    171 已连续制表符分隔最多3段的数组为>aab aaa bb    ab 
  • 相关阅读:
    ceph之image(转)
    CEPH集群RBD快照创建、恢复、删除、克隆(转)
    java操作ceph之rbd基本操作
    Kubernetes (1.6) 中的存储类及其动态供给
    Linux 网络编程详解九
    Linux 网络编程详解八
    Linux 网络编程详解七(并发僵尸进程处理)
    Linux 网络编程详解六(多进程服务器僵尸进程解决方案)
    Linux 网络编程详解五(TCP/IP协议粘包解决方案二)
    C语言 memset函数盲点
  • 原文地址:https://www.cnblogs.com/celine/p/8460160.html
Copyright © 2020-2023  润新知