我需要解析的内容:
[at:1761764]@my_nick_name[/at] my random comment.
我想得到什么:
@my_nick_name my random comment.
我需要在 android 应用程序中执行此操作。任何建议将不胜感激。
final String a = "[at:1761764]@my_nick_name[/at] my random comment.";
System.out.println(a.replaceAll("\\[.*?\\]", ""));
这将用[]
空字符串替换(包括它们)之间的任何内容,这相当于将其从字符串中删除。
正则表达式的解释:
\\[
-> [ 字符(您需要对其进行转义,因为它是正则表达式中的特殊字符)
.*?
-> 0 个或多个任意字符,不贪心
\\]
-> ] 字符
使用这个正则表达式:
(^\[\w*:\d*\])|(\[/\w*\])
您选择:
[at:1761764] 和 [/at]
稍后您可以删除它;)
简单版:
String[] parts = input.split("]");
String firstPart = parts[1];
firstPart = firstPart.substring(0, firstPart.indexOf("["));
String secondPart = parts[2];
正则表达式是一般 KISS 的另一个不错的选择。