这就是我正在尝试的但似乎不起作用:
(myStringHere.split(".")[(myStringHere.split(".").length)-1]).concat(text[myStringHere])
我的字符串将是这样的:
com.foo.bar.zar.gar.ThePartIWant
ThePartIWant是我想在页面中显示的内容。
我正在使用Expression Language 2.2
答案 0 :(得分:6)
如果您是在JSP中执行此操作,请尝试使用JSP JSTL function tag library来提供JavaDoc
中定义的方法丢失在Oacle The Java EE 5 Tutorial - JSTL Functions
上阅读更多内容以下是基于dot on split获取最后一个值的代码。
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
...
<c:set var="string1" value="This.is.first.String." />
<c:set var="string2" value="${fn:split(string1, '.')}" />
<c:set var="lastString" value="${string2[fn:length(string2)-1]}" />
<c:out value="${lastString }"></c:out>
输出:
String
这是另外一个example
答案 1 :(得分:0)
你想只捕捉字符串的最后部分?试试这个:
string[] s_tab = myStringHere.split(".");
string result = s_tab[s_tab.length - 1];
如果你想要一行:
string result = myStringHere.split(".")[StringUtils.countMatches(myStringHere, ".")];
答案 2 :(得分:0)
试试这个:
String s = "com.foo.bar.zar.gar.ThePartIWant";
System.out.println(s.split("\\.")[(s.split("\\.").length)-1]);
&#34;&#34;是一个特殊的角色。你必须逃避它,因为句号表示正则表达式中的任何字符。