美文网首页
java字符串操作

java字符串操作

作者: c之气三段 | 来源:发表于2021-03-06 16:58 被阅读0次

    常用的字符串api方法:

    char charAt(int index);//返回指定下标的一个字符。
    String  valueOf(Object object);//把参数转为字符串类型。用法为String.valueOf(...);
    int compareTo(String anotherString);//比较俩个字符串大小,按字母顺序,大于为正、等于为0、否则为负。
    int  compareToIgnoreCase(String anotherString);//忽略大小写比较俩个字符串。
    boolean contains(CharSequnce s);//判断参数字符串是否被包含。String是CharSequnce的实现类。
    boolean  equals(Object object);//字符串比较是否相等。
    boolean  equalsIgnoreCase(Object object)//忽略大小写比较是否相等。
    void getChars(int indexBegin, int indexEnd, char[] dst, int arrBegin);//字符串indexBegin到indexEnd覆写到从arrBegin下标开始的dst数组中。
    int indexOf(String str);//参数字符串在指定字符串中第一次出现的索引,重载从哪个位置开始找。
    int  lastIndexOf(String str);//参数字符串在指定字符串中最后一次出现的索引。,重载从哪个位置开始找。
    boolean  matches(String regex);//匹配正则表达式。
    String replace(char oldChar, char newChar);//字符串替换,返回替换后的字符串。
    String replaceAll(String regex, String replacement);//用replacement替换正则表达式匹配到的字符串。
    String[] split(String str);//用str去分割指定的字符串。
    String substring(int beginIndex, int endIndex);//获取子串。
    char[] toCharArray();//字符串转字符数组。
    String trim();//去掉空格;
    

    注意:char数组的默认值‘\u0000’或者‘\0’是不会被打印,也不会被转换成字符串

    //实现把下划线去掉且下划线后一位变大写如user_name,输出:userName。
    public class Test {
        public static void main(String[] args) {
            String s="user_name";
            char[]ch= s.toCharArray();
            for(int i=0;i<ch.length;i++){
                if('_'==ch[i]){
                    ch[i]='\0';
                    ch[i+1]-=32;
                }
            }
            String end=String.valueOf(ch);
            System.out.println(end);
        }
    }
    

    String和其他类型转换

    string 和int之间的转换

    string转换成int :Integer.valueOf("12")或者Integer.parseInt("12")

    int转换成string : String.valueOf(12)或者直接+
    valueOf()这个方法在包装类基本都有实现,也是有重载方法,其他的和这个例子类似。

    字符串操作案例

    //字符串重复次数最多的字符,输出字符和出现字数,有多个最多都输出。
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    
    public class Test {
        public static void main(String[] args) {
            String s = "qwertyyu";
            char[] ch = s.toCharArray();
            Map<Character, Integer> map = new HashMap<>();
            int max=0;
            for (int i = 0; i < ch.length; i++) {
                int count = 1;
                if (ch[i] != '\0') {
                    for (int j = i + 1; j < ch.length; j++) {
                        if (ch[i] == ch[j]) {
                            count++;//计数
                            ch[j] = '\0';
                        }
                    }
                    if(max<count){max=count;}
                    map.put(ch[i], count);
                }
            }
            Iterator<Map.Entry<Character,Integer>>iterator=map.entrySet().iterator();
            while (iterator.hasNext()){
                if(iterator.next().getValue()!=max){
                    iterator.remove();
                }
            }
            System.out.println(map);
        }
    }
    

    相关文章

      网友评论

          本文标题:java字符串操作

          本文链接:https://www.haomeiwen.com/subject/klvdqltx.html