我有一个字符串,格式如下:
"MyTeam/running#324242-BC2_asd213"
我怎样才能得到字符串中-
之前的部分。也就是说,我只需要得到MyTeam/running#324242
。我希望确保我按照#
之后第一个出现的-
进行拆分,因为有时-
也可以存在于#之前。
"MyTeam/walking-dead#324242"
在上面的例子中,我希望得到字符串MyTeam/walking-dead#567657
我目前的解决方案:
.substring(0, vfi.lastIndexOf("-"));
但是想知道是否有可能以“#”为基础,这样解会更准确
1条答案
按热度按时间y4ekin9u1#
你可以使用正则表达式:
^
表示字符串的开始[^#]+
将匹配#
以外的一个或多个字符[^-]*
将匹配-
以外的零个或多个字符.*
将匹配零个或多个字符$
表示字符串的结尾圆括号捕获了您感兴趣的匹配,以便可以将其用于替换(使用
$1
)。