Programmer Log4[String类的常用操作]_18.11.21

//String类扩展功能实现
public class Strings{

    public static void main(String[] args){
		System.out.println(repeat('a',10));
		System.out.println(repeat('a',-1));
		System.out.println(fillBefore("abc",'A',5));
		System.out.println("已有字符串长度超过len:"+fillBefore("abc",'A',2));
		System.out.println(fillAfter("abc",'A',5));
		System.out.println("已有字符串长度超过len:"+fillAfter("abc",'A',2));
		System.out.println("去掉-符号之后 :  "+removeAll("aa-bb-cc-dd", "-"));
		System.out.println("反转后"+reverse("abcd"));
	}
     /**
     * 重复某个字符
     * 
     * 例如: 
     * 'a' 5   => "aaaaa"  
     * 'a' -1  => ""
     * 
     * @param c     被重复的字符
     * @param count 重复的数目,如果小于等于0则返回""
     * @return 重复字符字符串
     */
    public static String repeat(char c, int count) {
    
       if(count>0){
		   char[] chars = new char[count];
		   for(int i=0;i<count;i++){
			   chars[i]=c;
		   }
		   String str1 = new String(chars);
		   return str1;
	   }else{
		   System.out.print("数据输入错误");
		   return "";
	   }
    }
    
    
     /**
     * 将已有字符串填充为规定长度,如果已有字符串超过这个长度则返回这个字符串
     * 字符填充于字符串前
     *
     * 例如: 
     * "abc" 'A' 5  => "AAabc"
     * "abc" 'A' 3  => "abc"
     *
     * @param str        被填充的字符串
     * @param filledChar 填充的字符
     * @param len        填充长度
     * @return 填充后的字符串
     */
    public static String fillBefore(String str, char filledChar, int len) {
		if(str.length()<len){
        char[] chars = new char[len];
	    char[] chars2 = str.toCharArray();
	    for(int i=chars.length-chars2.length,j=0;i<chars.length;i++,j++){
		    chars[i] = chars2[j];
	    }
	    for(int x=0;x<chars.length-chars2.length;x++){
		   chars[x] = filledChar;
	    }
	    String str2 = new String(chars);
        return str2;
	    }else{
			return str;
	  }
   }
    
    /**
     * 将已有字符串填充为规定长度,如果已有字符串超过这个长度则返回这个字符串<br>
     * 字符填充于字符串后
     * 例如: 
     * "abc" 'A' 5  => "abcAA"
     * "abc" 'A' 3  => "abc"
     *
     * @param str        被填充的字符串
     * @param filledChar 填充的字符
     * @param len        填充长度
     * @return 填充后的字符串
     */
    public static String fillAfter(String str, char filledChar, int len) {
        if(str.length()<len){
        char[] chars = new char[len];
	    char[] chars2 = str.toCharArray();
	    for(int i=0;i<chars2.length;i++){
		    chars[i] = chars2[i];
	    }
	    for(int x=chars2.length;x<chars.length;x++){
		   chars[x] = filledChar;
	    }
	    String str2 = new String(chars);
        return str2;
	    }else{
			return str;
	  }
    }

    /**
     * 移除字符串中所有给定字符串
     * 例:removeAll("aa-bb-cc-dd", "-") => aabbccdd
     *
     * @param str         字符串
     * @param strToRemove 被移除的字符串
     * @return 移除后的字符串
     */
    public static String removeAll(CharSequence str, CharSequence strToRemove) {
		String a = str.toString();
        String[] strings = a.split("-");
		StringBuffer sb = new StringBuffer();
		for(int i=0;i<strings.length;i++){
		   sb.append(strings[i]);
		}
        String b = sb.toString();
        return b;
    }
    
    /**
     * 反转字符串
     * 例如:abcd => dcba
     *
     * @param str 被反转的字符串
     * @return 反转后的字符串
     */
    public static String reverse(String str) {
        char[] chars = str.toCharArray();
		char[] chars2 = new char[chars.length];
		for(int i=0,j=chars.length-1;i<chars2.length;i++,j--){
			chars2[i] = chars[j];
		}
		String str1 = new String(chars2);
        return str1;
    }

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值