【问题标题】:String split by two different delimiters字符串被两个不同的分隔符分割
【发布时间】:2012-02-21 10:16:52
【问题描述】:

我有这样的字符串'some-dasd\dasd-dasdas\dasdas-dasd-das\dsad'。 我需要通过两个不同的符号'\''-' 将字符串拆分为数组,所以我想得到数组['some', 'dasd', 'dasd', 'dasdas', 'dasdas', 'dasd', 'das' ,'dsad']

最好的方法是什么?

【问题讨论】:

    标签: ruby string split


    【解决方案1】:
    "ome-dasd\dasd-dasdas\dasdas-dasd-das\dsad".split(/\\|-/)
    

    应该可以解决问题。

    【讨论】:

    • 但这不适用于分隔符相邻的情况 \- 给你一些空白元素。
    【解决方案2】:

    您可以使用正则表达式拆分字符串:

     mystring.split(/[-\\]/)
    

    【讨论】:

    • @lucapette 你将不得不原谅我对正则表达式的相对无知 - 这个答案和你的答案似乎都和我一样?为什么一个比另一个更好?
    • @Russel 它们在匹配方面是完全等价的,但是这个更简洁,更易于维护。例如,假设您要添加%。这个会变成[-\\%],我的会变成\\|-|%。也许这也是一个品味问题:)
    • 是的,我认为你是对的,它更具可读性/可维护性,尤其是在添加更多字符时。但是,我的书呆子认为,指出您的答案在两个字符示例中使用的字符较少而在三个字符示例中使用相同的数字是公平的!
    猜你喜欢
    • 1970-01-01
    • 2020-07-04
    • 2020-01-26
    • 1970-01-01
    • 2015-04-13
    • 2020-05-23
    • 2013-05-03
    相关资源
    最近更新 更多