String的应用

去除字符串两边空格
    public static String myTrim(String str){
        int start = 0, end = str.length()-1;
        while(start<=end && str.charAt(start)==' ')
            start++;
        while(start<=end && str.charAt(end)==' '){
            end--;
        }
        return str.substring(start, end+1);
    }
反转字符串
/*反转字符串
     *思路:字符串变数组,然后数组反转,再将数组变字符串
     **/
    public static String reverseString(String s){
        char[] chs = s.toCharArray();   //字符串变数组
        reverse(chs);                   //数组反转
        return new String(chs);         //数组变字符串
    }
    public static void reverse(char[] chs){
        int start=0;
        int end = chs.length-1;
        for(; start<end; start++,end--){
            swap(chs, start, end);
        }
    }
    public static void swap(char[] chs, int start, int end){
        char temp = chs[start];
        chs[start] = chs[end];
        chs[end] = temp;
    }
字符串出现次数
/*字符串key在str中出现的次数
     *利用indexOf来查找,找到后用substring截取后续部分继续查找
     **/
    public static int getSubCount(String str, String key){
        int count = 0;
        int index = 0;
        while( (index=str.indexOf(key)) != -1 ){
            str = str.substring(index+key.length());
            count++;
        }
        return count;
    }
最大子串
/*求最大相同子串
     *将短的那个字符串与长的比较
     *从短字符串长度开始至0的长度len,截取段字符串len长的字符串str
     *str被长字符串包含,则找到了
     **/
    public static String getMaxSubString(String s1, String s2){
        int i, j, k;
        String str = "";
        String max = "", min = "";

        max = (s1.length() > s2.length()) ? s1 : s2;
        min = (s1.length() > s2.length()) ? s2 : s1;

        for(i=0; i<min.length(); i++){
            for(j=0, k=min.length()-i; k!=min.length()+1; j++,k++){
                str = min.substring(j, k);
                sop(str);
                if(max.contains(str)){
                    return str;
                }
            }
        }
        return "";
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值