【发布时间】:2014-02-28 00:51:06
【问题描述】:
我有String str,我想从中提取子字符串,不包括可能的前缀"abc"。
想到的第一个解决方案是:
if (str.startsWith("abc"))
return str.substring("abc".length());
return str;
我的问题是:
使用
split和"abc"前缀的正则表达式是否有“更清洁”的方法?如果是,它是否比上述方法效率低(因为它搜索“整个”字符串)?
如果是,有没有更好的方法(其中“更好的方法”= 干净高效的解决方案)?
请注意,"abc" 前缀可能出现在字符串的其他位置,不应删除。
谢谢
【问题讨论】:
-
对“效率”的担忧在这里是相当愚蠢的,除非你试图在每个 X 上做数百万次,这就是瓶颈。您按原样编写代码,可读性好并传达意图。