我需要根据最后两次出现的相同分隔符将字符串拆分为两个。
Example:
"this_is_an_example".split_by_last_two_occurance("_") => #[this_is, an_example]
"this_is_an_example_string".split_by_last_two_occurance("_") => #["this_is_an", "example_string"]
据我所知,
splitted_string = "this_is_an_example_string".split("_")
string_array = [splitted_string[0..-3].join("_"), splitted_string[-3,-1].join("_")]
=> #["this_is_an", "example_string"]
这看起来不是一种有效的方法。 还有其他办法吗?
答案 0 :(得分:2)
使用正则表达式:
"this_is_an_example_string".split(/_(?=[^_]*_[^_]*$)/)
# => ["this_is_an", "example_string"]