版权声明:如需转载,请注明出处 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"));
}
}