【JavaSE】String类扩展功能实现

版权声明:如需转载,请注明出处 https://blog.csdn.net/baidu_41813368/article/details/84500923

重复某个字符

//String类扩展功能实现
public class Strings{
     /**
     * 重复某个字符
     * 
     * 例如: 
     * 'a' 5   => "aaaaa"  
     * 'a' -1  => ""
     * 
     * @param c     被重复的字符
     * @param count 重复的数目,如果小于等于0则返回""
     * @return 重复字符字符串
     */
    public static String repeat(char c, int count) {
       char[] a = new char[count];
	   if(count>0){
		   for(int i= 0;i<count;i++){
			   a[i]=c; 
		   }
	   }else{
		   return null;
	   }
       String str1 = new String(a);
			return str1;
    }
    

字符填充于字符串前

  /**
  * 将已有字符串填充为规定长度,如果已有字符串超过这个长度则返回这个字符串
  * 字符填充于字符串前
  *
  * 例如: 
  * "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) {
 	char[] charArray = str.toCharArray();
    if(charArray.length==len){
 	   return str;
    }else{
 	    char[] b =new char[len];
 	   for(int i = 0;i<len-charArray.length;i++){
 		   b[i] =filledChar;
 	   }
 	   for(int i =len-charArray.length;i<len;i++ ){
 		   b[i] = charArray[i-len+charArray.length];
 	   }
 	   String str1 = new String(b);
 		return str1;
    }
 }

字符填充于字符串后

 /**
  * 将已有字符串填充为规定长度,如果已有字符串超过这个长度则返回这个字符串<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) {
 char[] charArray = str.toCharArray();
    if(charArray.length==len){
 	   return str;
    }else{
 	    char[] b =new char[len];
 	   for(int i = 0;i<charArray.length;i++){
 		   b[i] =charArray[i];
 	   }
 	   for(int i =charArray.length;i<len;i++ ){
 		   b[i] =filledChar;
 	   }
 	   String str1 = new String(b);
 		return str1;
    }
 }

移除字符串中所有给定字符串

   /**
    * 移除字符串中所有给定字符串
    * 例:removeAll("aa-bb-cc-dd", "-") => aabbccdd
    *
    * @param str         字符串
    * @param strToRemove 被移除的字符串
    * @return 移除后的字符串
    */
   public static String removeAll(CharSequence str, CharSequence strToRemove) {
   	String str1 = str.toString();
   	String str2 = strToRemove.toString();
   	char[] charArray = str1.toCharArray();
   	char[] strtoremove = str2.toCharArray();
   	String a = "";
       for(int i = 0;i<charArray.length;i++){
   			if (charArray[i]!=strtoremove[0]){
   				a += charArray[i];}
   			}
   		return a;
   }

反转字符串

   /**
    * 反转字符串
    * 例如:abcd => dcba
    *
    * @param str 被反转的字符串
    * @return 反转后的字符串
    */
   public static String reverse(String str) {
   	char[] charArray = str.toCharArray();
   	char[] a = new char[charArray.length];
   	for(int i =0;i<charArray.length;i++ ){
   		a[i] =charArray[charArray.length-i-1];
   	}
       String str1 = new String(a);
   		return str1;
   }

测试

	public static void main(String[] args){
		char a = 'a';
		System.out.println(repeat(a,5));
		char b = 'A';
		System.out.println(fillBefore("abcd",b,6));
		char c = 'A';
		System.out.println(fillAfter("abcd",c,6));
		System.out.println(removeAll("aa-bb-cc-dd", "-"));
		System.out.println(reverse("abcd"));
		
	}
}

猜你喜欢

转载自blog.csdn.net/baidu_41813368/article/details/84500923
今日推荐