正则表达式提取特定字符串

时间:2018-06-08 05:47:44

标签: java

我有以下字符串,我只需要提取 关注LSA,List, BROWSER2, Marmiton, BROWSER。这意味着扩展.log后的字符串。 我怎么能这样做?

 /opt/Seloger/.RFC_LSA.log
 /opt/Seloger/.RFC_List.log
 /opt/Seloger/.RFC_RDK_BROWSER2.log 
  /opt/Seloger/.RFC_List_src_Marmiton.log
 /opt/Seloger/.RFC_RDK_BROWSER.log

2 个答案:

答案 0 :(得分:3)

我不知道正则表达式,但这种方法也可以使用

1)获得下划线的最后一个索引: -

int last=str.lastIndexOf('_');

2)获取'的最后一个索引。'

int lastD=str.lastIndexOf('.');

3)使用substring函数获取所需的字符串。

String result=str.substring(last+1,lastD);

您也可以通过编写

来缩短代码
String result=str.substring(str.lastIndexOf('_')+1,str.lastIndexOf('.'));

答案 1 :(得分:1)

您可以使用以下使用正面预测的正则表达式:

[^_/]+(?=\.)

以下是演示:https://regex101.com/r/1fP5Hy/1