String类扩展功能实现

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

    
     /**
     * 重复某个字符
     * 
     * 例如: 
     * 'a' 5   => "aaaaa"  
     * 'a' -1  => ""
     * 
     * @param c     被重复的字符
     * @param count 重复的数目,如果小于等于0则返回""
     * @return 重复字符字符串
     */
    public static String repeat(char c, int count) {
		if(count <= 0){
			return "";
		}
	    char[] data = new char[count];
	   
	    for(int i=0; i<count; i++){
		    data[i] = c;
	    }
	    String str = new String(data);
	    return str;
    }
    
    
     /**
     * 将已有字符串填充为规定长度,如果已有字符串超过这个长度则返回这个字符串
     * 字符填充于字符串前
     *
     * 例如: 
     * "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(len <= str.length()){
		    return str;
	    }
	    char[] data = new char[len-str.length()]; 
	    for(int i=0; i < (len-str.length()); i++){
		    data[i] = filledChar;
	    }
	    String str1 = new String(data);
	   
        return str1+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(len <= str.length()){
		    return str;
	    }
	    char[] data = new char[len-str.length()]; 
	    for(int i=0; i < (len-str.length()); i++){
		    data[i] = filledChar;
	    }
	    String str1 = new String(data);
	   
        return str+str1;
     }

    /**
     * 移除字符串中所有给定字符串
     * 例:removeAll("aa-bb-cc-dd", "-") => aabbccdd
     *
     * @param str         字符串
     * @param strToRemove 被移除的字符串
     * @return 移除后的字符串
     */
    public static String removeAll(CharSequence str, CharSequence strToRemove) {
		if(str == null){
			return "";
		}
		return str.toString().replaceAll(strToRemove.toString(),"");
    }
    
    /**
     * 反转字符串
     * 例如:abcd => dcba
     *
     * @param str 被反转的字符串
     * @return 反转后的字符串
     */
    public static String reverse(String str) {
        char[] data = str.toCharArray();
		int left = 0;
		int right = data.length-1;
		char temp;
		while(left<right){
			temp = data[left];
			data[left] = data[right];
			data[right] = temp;
			left++;
			right--;
		}
		String str1 = new String(data);
		return str1;
    }
	
	public static void main(String[] args){
		System.out.println(repeat('a',1));
		System.out.println(fillBefore("",'A',3));
		System.out.println(fillAfter("abc",'A',5));
		System.out.println(removeAll("aa-bb-cc","-"));
		System.out.println(reverse("abcd"));
	}
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值