1

我需要解析的内容:

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

我想得到什么:

@my_nick_name my random comment.

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

4

3 回答 3

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

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

正则表达式的解释:

\\[-> [ 字符(您需要对其进行转义,因为它是正则表达式中的特殊字符)

.*?-> 0 个或多个任意字符,不贪心

\\]-> ] 字符

于 2013-06-25T15:56:15.527 回答
0

使用这个正则表达式:

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

您选择:

[at:1761764] 和 [/at]

稍后您可以删除它;)

于 2013-06-25T15:48:16.293 回答
0

简单版:

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

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

于 2013-06-25T15:50:09.087 回答