Add tags

Add tags to the following comment

4通りの方法で実装してみました。 replace3, 4に関しては置換対象として正規表現を想定しています。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import java.util.regex.*;
public class ReplaceAll {
    public static void main(String[] args) {
        System.out.println(replace1("2007-06-07", "-", "/"));    // => 2007/06/07
        System.out.println(replace2("2007-06-07", "-", "/"));    // => 2007/06/07
        System.out.println(replace3("2007-06-07", "-", "/"));    // => 2007/06/07
        System.out.println(replace4("2007-06-07", "-", "/"));    // => 2007/06/07
        System.out.println(replace1("2007-06-07", "\\d+", "*"));    // => 2007/06/07
        System.out.println(replace2("2007-06-07", "\\d+", "*"));    // => 2007/06/07
        System.out.println(replace3("2007-06-07", "\\d+", "*"));    // => *-*-*
        System.out.println(replace4("2007-06-07", "\\d+", "*"));    // => *-*-*
    }
    public static String replace1(String str, String target, String replacement) {
        return str.replace(target, replacement);
    }
    public static String replace2(String str, String target, String replacement) {
        StringBuilder sb = new StringBuilder();
        int i, st = 0;
        while ((i = str.indexOf(target, st)) > 0) {
            sb.append(str.substring(st, i));
            sb.append(replacement);
            st = i + replacement.length();
        }
        sb.append(str.substring(st));
        return sb.toString();
    }
    public static String replace3(String str, String target, String replacement) {
        return str.replaceAll(target, replacement);
    }
    public static String replace4(String str, String target, String replacement) {
        Pattern pattern = Pattern.compile(target);
        Matcher matcher = pattern.matcher(str);
        StringBuffer sb = new StringBuffer();
        while (matcher.find()) {
            matcher.appendReplacement(sb, replacement);
        }
        matcher.appendTail(sb);
        return sb.toString();
    }
}

Add tags

The input will be splited to tags with space.

Index

Feed

Other

Link

Pathtraq

loading...