使用格式之类的标记解析字符串

时间:2013-06-25 15:42:43

标签: java android regex

我需要解析的内容:

[at:1761764]@my_nick_name[/at] my random comment.

我想得到什么:

@my_nick_name my random comment.

我需要在Android应用程序中执行此操作。任何建议都将不胜感激。

3 个答案:

答案 0 :(得分:3)

final String a = "[at:1761764]@my_nick_name[/at] my random comment.";
System.out.println(a.replaceAll("\\[.*?\\]", ""));

这将用空字符串替换[](包括它们)之间的任何内容,这相当于将其从字符串中删除。

正则表达式的解释:

\\[ - > [字符(你需要逃避它,因为它是正则表达式中的特殊字符)

.*? - > 0个或更多的任何角色,而不是贪心

\\] - > ]角色

答案 1 :(得分:0)

这个正则表达式:

(^\[\w*:\d*\])|(\[/\w*\])

您选择:

[at:1761764]和[/ at]

稍后你可以删除它;)

答案 2 :(得分:0)

简单版本:

 String[] parts = input.split("]");
 String firstPart = parts[1];
 firstPart = firstPart.substring(0, firstPart.indexOf("["));
 String secondPart = parts[2];

正则表达式是一般KISS的另一个好选择。