0

私の Java アプリは、次の形式の文字列を取得します。

How now [[brown cow ]]. The arsonist [[ had oddly shaped ]] feet. The [[human torch was denied]] a bank loan.

[[ ]]そして、のすべてのインスタンス(およびすべての包括的なテキスト)を取り除く正規表​​現/メソッドが必要であり、上記の文字列を次のように変換します。

How now. The arsonist  feet. The  a bank loan.

保持されているダブルスペース ( と の間、 と の間) に注意しarsonistfeetください。それも重要です。Thea

[[ ]]ここでの正規表現が適切かどうか、または不要なインスタンスを選別するより効率的な方法があるかどうかはわかりません。

4

4 に答える 4

3

これはジャバスクリプトです。

var text = "How now [[brown cow ]]. The arsonist [[ had oddly shaped ]] feet. The [[human torch was denied]] a bank loan."
text.replace(/\[\[[^\]]+\]\]/g, "")

中括弧に一致する正規表現は次のようになります

/\[\[[^\]]+\]\]/g

したがって、同等の Java は

text.replaceAll("\[\[[^\]]+\]\]", "");

空の文字列に置き換えます

二重中括弧と三重中括弧の両方を削除できる正規表現

text.replaceAll("\[?\[\[[^\]]+\]\]\]?", "")
于 2013-03-19T10:09:48.650 に答える
2

これは簡単ですreplaceAll

str = str.replaceAll( "\\[\\[[^\\]]*\\]\\]", "" );

角かっこの]間にはないと仮定します。

于 2013-03-19T10:14:51.153 に答える
2

このコードを使用してみてください:

public class Test{
public static void main(String[] args) {
    String input = "How now [[brown cow ]]. The arsonist [[ had oddly shaped ]] feet. The [[human torch was denied]] a bank loan.";
    // Will replace all data within braces []
    String replaceAll = input.replaceAll("(\\[.+?\\])|(\\])", "");
    System.out.println(replaceAll);
}

}

お役に立てれば。

于 2013-03-19T10:15:27.410 に答える
2
tring s = "How now [[brown cow ]]. The arsonist [[ had oddly shaped ]] feet. The [[human torch was denied]] a bank loan.";

s=s.replaceAll("\\[.*?\\]","").replace("]","");

出力:

How now . The arsonist  feet. The  a bank loan.
于 2013-03-19T10:17:35.520 に答える