java使用正则表达式拆分字符串并将其存储在变量中

java使用正则表达式拆分字符串并将其存储在变量中,java,regex,split,Java,Regex,Split,我有一个文件,我必须逐行阅读。该文件包含类似的行,如下所示: asd@lolkek | 1.1.1.1 title@contentm e s a g e|2.3.4.5 我把这些行读成字符串变量。如何将这些字符串拆分为其他变量? 例如:var1=title,var2=content,var3=me-s-a-g-e,var4=2.3.4.5 我尝试过这样的方法,但我找不到解决方案: stringArray=line.split("|"); 您可以使用此正则表达式进行匹配并获取捕获的组: ^([^

我有一个文件,我必须逐行阅读。该文件包含类似的行,如下所示:

asd@lolkek | 1.1.1.1
title@contentm e s a g e|2.3.4.5

我把这些行读成字符串变量。如何将这些字符串拆分为其他变量? 例如:var1=title,var2=content,var3=me-s-a-g-e,var4=2.3.4.5

我尝试过这样的方法,但我找不到解决方案:

stringArray=line.split("|");

您可以使用此正则表达式进行匹配并获取捕获的组:

^([^@]+)@(\S+)\s([^|]+)\|(.*)$

我建议您仔细阅读一下
split
match
操作之间的区别。

您需要清楚地识别分隔符。您想要的结果甚至是不一致的,有时空格会导致拆分,有时则不会。String具有
split
方法。阅读其文档并检查其重载版本(尤其是
split(regex,limit)
)。您还可以查看
Pattern
Matcher
类。关于
split(“|”)阅读