0

「/」を除くすべての英数字以外の文字を「」(空文字)に置き換える正規表現が必要です。

これは私がしたことです:

LibString.replaceAll(token, "[^a-zA-Z0-9]", "");

LibString での関数の実装は次のとおりです。

public static String replaceAll(String source, String regex, String replacement) 
    {
        Pattern pattern = new Pattern(regex, 0);
        Replacer replacer = pattern.replacer(replacement);

        String result = replacer.replace(source);
        return result;
    }  

私が与えた文字列は次のとおりです。

「フランス対トンガ」。フランス国際ラグビー ブリッツ H/L 2013. フランス国際ラグビー試合のハイライト。

期待される結果:

単語のリスト:

フランス
vs
トンガ
フランス
国際
H/L
.. etc

実際の結果は次のとおりです。

「フランス
[空]
トンガ」。
.フランス語
[空]

ご意見をお聞かせください。

注意してください:私はJVM 1.2を搭載したシステムで作業しているため、util.regexまたはString Replaceのすべての種類のメソッドを使用できません。
正規表現を使用するために、プロジェクトに jregex.jar をインポートしました。

4

1 に答える 1

2

正規表現を使用[^a-zA-Z0-9//][^a-zA-Z0-9]てエスケープする/

 LibString.replaceAll(token, "[^a-zA-Z0-9//]", "");
于 2013-11-11T08:41:50.580 に答える