文字列「6 sabcsssfsfs 33」があれば、最も速い方法で文字「ab 3」を削除し、java内蔵文字列方法(indeOf、substring)などを使用できませんか?


import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @author WenQiang Wu
 * @version Dec 29, 2009
 */
public class ReplaceString {

    /**
     * use array method
     * 
     * @param s
     * @param match
     */
    static void replace(String s, String match) {
        char[] strs = s.toCharArray();
        char[] matchs = match.toCharArray();

        StringBuilder sb = new StringBuilder();

        for (char c : strs) {
            int index = -1;
            for (char m : matchs) {
                index++;
                if (c == m) {
                    break;
                } else if (index >= matchs.length - 1) {
                    sb.append(c);
                }
            }
        }
        System.out.println(sb.toString());
    }

    /**
     * use regex method
     * 
     * @param s
     * @param p
     */
    static void replace(String s, Pattern p) {
        Matcher m = p.matcher(s);
        StringBuilder sb = new StringBuilder();

        while (m.find()) {
            sb.append(m.group());
        }
        System.out.println(sb.toString());
    }

    /**
     * 
     * @param args
     */
    public static void main(String[] args) {

        String s = "6sabcsssfsfs33";

        String match = "ab3";

        // method one
        replace(s, match);

        String regx = "[^a|b|3]";
        Pattern p = Pattern.compile(regx);

        // method two
        replace(s, p);
    }
}