字符串的正则表达式将字符串拆分为多个部分

时间:2016-09-25 07:09:13

标签: java regex

我有一个字符串 - +3]##i recently purchased the canon powershot g3 and am extremely satisfied with the purchase . use

我想将+3]##替换为(blankspace/whitespace)

输出:
i recently purchased the canon powershot g3 and am extremely satisfied with the purchase . use

+3]##出现多次,而且该数字会在某些时间发生变化+3]##,有时可能会+1##]-1]##

任何人都可以帮我使用正则表达式将所有这样的字符串替换为空白。

感谢。

2 个答案:

答案 0 :(得分:0)

使用以下正则表达式匹配[ ]内的内容以及(##|*)

形式的后续文本
\[(.*?)\]|(##|\*)

\[(.*?)\]它将与[t] [+3] [+2] [+2] [+1] [+2] [+2] [+1]匹配,而(##|\*)将与##* or ##匹配。

Java代码:

String data="[+3]##i recently purchased the canon powershot g3 and am extremely satisfied with the purchase . use";
    String regex="\\[(.*?)\\]|(##|\\*)";
    System.out.println(data.replaceAll(regex, ""));

输出:
i recently purchased the canon powershot g3 and am extremely satisfied with the purchase . use

它也适用于您的文件。

答案 1 :(得分:0)

您可以使用以下正则表达式:

^[+-][0-9]{1,}[\]#]{1,}

如果您使用的是JAVA,那么

"HERE YOUR STRING".replaceAll("^[+-][0-9]{1,}[\]#]{1,}", "");

如果您使用的是bash / sh:

echo $your_string | sed 's/^[+-][0-9]\{1,\}[\\]#]{1,}//g'

如果这对你不起作用,我也不知道。但是很高兴知道你试图用哪种语言。