在我最近的经验中,我使用了使用分隔符的拆分函数和子字符串函数。只是想知道是否有人能说明哪一个更好,在什么条件下?
编辑:
我主要关心的是这些函数对性能和代码质量的影响。(如果我可以使用其中的任何一个,应该首选哪一个?如果有任何其他决定因素,请提及。)
顺便说一句,我和一个同事讨论过这个问题,他说他不喜欢使用子串。这就是我的想法...
仅供参考,我有一个包含网址的长ID,以及两个不同的ID,我需要分别获取和存储。网址是相同的,每个ID的长度相同,因此长度和索引将是恒定的,所以我知道确切的索引位置,并且在ID之间还有像#这样的字符,我可以用它们作为分隔符。ID看起来像:
http://xyz.com#12345#ASDFG
所以,我有一个选择。我使用了分隔符#分割,但想知道什么是更好的选择。
如果您知道索引,那么最好使用subString()
,因为spilt()
会创建一个字符串数组
这完全取决于工作的正确工具是什么,天气与否,你可以预先确定在哪里拆分字符串!
Split
将创建一个字符串数组,每个元素包含所选字符之间的值。
Substring
将根据您提供的索引返回部分字符串值。
至于适用的场景,请查看dasblinkenlight提供的一个很好的解释。
没有比这更好的了。两者都一样好,但主要取决于你使用它的场景。
当您知道索引时,请使用substring
。
内部创建Pattern.compile,这是一个昂贵的操作。另外,拆分()将字符串作为参数,但此字符串被解释为模式
如何将过滤器列表拆分为单个过滤器元件?split2String在线程“main”java.util.regex中导致:异常。PatternSyntaxException:索引10或(|和)附近的未闭合组(
问题内容: 如何在JavaScript中使用多个分隔符拆分字符串?我正在尝试在逗号和空格上进行拆分,但是AFAIK,JS的拆分功能仅支持一个分隔符。 问题答案: 传递正则表达式作为参数: 编辑添加: 您可以通过选择数组的长度减去1来获得最后一个元素: …,如果模式不匹配:
我有一个输入字符串,其中包含由分隔符(| |)分隔的4个ID。我使用的代码如下: 但有些情况下并非所有ID都存在,如: 在上面的场景中,拆分不会分为4个部分,并且无法判断拆分数组中缺少哪个id。 有人可以帮助一个有效的解决方案。
问题内容: 我有一个值为的字符串。我想将字符串分成两个字符串,值为的字符串和的值为字符串。 正确的功能/语法是什么? 我已经看过了,但是找不到将数据返回到两个单独的字符串中的实际语法。 问题答案: 该功能适用于:
我是 Perl 的新手,但根据我阅读的文档,看起来 Perl 中的 split 函数要求正则表达式模式而不是字符串分隔符作为第一个参数,但我发现使用 之类的东西仍然可以正确拆分字符串。 基于此,我尝试使用可变分隔符(例如。< code>print (split($var,$ string))[0] where < code > $ var = ' ' )并发现它不起作用。我做错了什么? 谢谢! 编
示例: 谢谢你。