繁体   English   中英

如何在Java中使用regex拆分此String?

[英]How do I split this String using regex in Java?

从这个字符串:“/ resourcesspages/id/AirOceanFreight.xhtml”

我需要检索两个子字符串:pages /之后的字符串和.xhtml之前的字符串。

/ resources / pages /是不变的。 id和AirOceanFreight各不相同。

任何帮助表示感谢,谢谢!

我喜欢Jakarta Commons Lang StringUtils

String x = StringUtils.substringBetween(string, "/resources/pages/", ".xhtml");

或者,如果".xhtml"也可以出现在字符串的中间:

String x = substringBeforeLast(
              substringAfter(string, "/resources/pages/"), ".xhtml");

(我也喜欢静态导入)

没有jakarta commons的替代方案。 使用常量:

 private final static String PATH = "/resources/pages/";
 private final static String EXT = ".xhtml";

你只需要这样做:

 String result = filename.substring(PATH.length(), filename.lastIndexOf(EXT));

您可以在链中使用拆分方法。

 String test = "/resources/pages/id/AirOceanFreight.xhtml";
 String result = test.split(".xhtml")[0].split("/resources/pages/")[1];

您还可以尝试使用以下正则表达式模式:

(?<=页面\\ /)(。+(?=。XHTML))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM