我正在尝试为Java函数找到一个正则表达式字符串模式来处理推文。经过多次清理后,现在我的数据格式为:“tweet; device; tweet; device ...”
示例数据格式如下,
RT @ blah1:blahbla;有些device1 RT @ blah2:blabla;有些dev2 @ blah3: blahblah;一些dev3
问题:
我希望迭代地在“RT @ blah1:”和“; some device”之间获取字符串。
提前多多感谢。
答案 0 :(得分:0)
String类提供了许多操作字符串的方法。 在这种情况下,您可以使用split() - 方法: 分裂;然后拆分:
答案 1 :(得分:0)
public static void main(String[] args) {
String s = "RT @blah1: blahbla;some device1 RT @blah2: blabla;some dev2 @blah3: blahblah;some dev3";
for (String part : s.split(";")) {
if (part.contains(":")) {
System.out.println(part.split(":")[1]);
}
}
}
如果:和;不足以分裂你可以用split()替换它们的一些正则表达式。
答案 2 :(得分:0)
我同意上述答案的评论,即首先使用string.split()。
如果您坚持使用REGEX,请使用以下命令:
print "time : {}".format(timestamp)
示例:https://regex101.com/r/cOmKhU/1
说明: