我正在尝试用@
拆分字符串'id@namespace‘。
有一个特殊的情况,id的格式是name@gmail
,这使得我试图拆分的字符串看起来像name@gmail@namespace
。
有没有办法实现只对最后一个@
进行拆分,从而得到name@gmail
和namespace
发布于 2018-10-15 06:21:21
如果它总是最后一个索引。使用lastIndex
查找字符的最后一个索引,然后使用substring
像这样的东西
int idx = string.lastIndexOf("@");
String[] splitStrings = {string.substring(0, idx), string.substring(idx)};
发布于 2018-10-15 15:26:20
您可以使用negative lookahead (?!
匹配最后一个@
,以断言下面没有更多的@
:
@(?!.*@)
System.out.println("name@gmail@namespace".split("@(?!.*@)")[0]); //name@gmail
https://stackoverflow.com/questions/52807549
复制相似问题