倒叙输出的四种方式
public class ReverseString {
public static void main(String[] args) {
String str = "aabbccddaaccee932a";
reverseString1(str);
System.out.println("-----------------");
reverseString2(str);
System.out.println("-----------------");
reverseString3(str);
System.out.println("-----------------");
reverseStringMy(str);
}
private static void reverseString1(String str) {
char[] chr = str.toCharArray();
for (int i = chr.length - 1; i >= 0; i--) {
System.out.print(chr[i]);
}
System.out.println("\t");
}
private static void reverseString2(String str) {
if (str.length() == 1) {
System.out.println(str);
} else {
String subString1 = str.substring(0, str.length() - 1);
String subString2 = str.substring(str.length() - 1);
System.out.print(subString2);
reverseString2(subString1);
}
}
private static void reverseString3(String str) {
StringBuffer buffer = new StringBuffer(str);
System.out.println(buffer.reverse());
}
private static void reverseStringMy(String str) {
StringBuffer a = new StringBuffer();
String subString2 = "";
for (int i = str.length(); i > 0; i--) {
subString2 = str.substring(i - 1, i);
a.append(subString2);
}
System.out.print("My:" + a);
System.out.println("\t");
}
}
去除数字的两种方法
public class RemoveNum {
@Test
public void remove1() {
String str = "a123assume345contr7ibu8te9";
System.out.println(str.replaceAll("\\d+", ""));
}
@Test
public void remove2() {
String str = "a123assume345contr7ibu8te9";
char[] chars = str.toCharArray();
for (int i = 0; i < chars.length; i++) {
String s = String.valueOf(chars[i]);
if (!"123456789".contains(s)) {
System.out.printf(s);
}
}
}
}
统计字符串中连续字符出现的个数的两种方法
如输入:wwwaacbbdaa 输出 3w2ac2bd2a
import org.junit.Test;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class CountCharacter {
@Test
public void count1() {
String str = "wwwaacbbdaa";
String s = "";
Matcher m = Pattern.compile("(\\w)\\1*").matcher(str);
while (m.find()) {
s += m.group().length() + m.group().subSequence(0, 1).toString();
}
System.out.println(s.replaceAll("1", ""));
}
@Test
public void getNumFromString() {
String string = "wwwaacbbdaa";
StringBuilder sb = new StringBuilder();
char c = string.charAt(0);
int count = 1;
for (int i = 1; i < string.length(); i++) {
char s = string.charAt(i);
if (s == c) {
count++;
} else {
if (count > 1) {
sb.append(count);
sb.append(c);
count = 1;
} else {
sb.append(c);
}
}
c = s;
}
if (count > 1) {
sb.append(count);
}
sb.append(c);
System.out.println(sb.toString());
}
}