如何在第一个逗号后的首个竖线位置拆分指定格式字符串?
字符串拆分实现方案
实现思路
你之前的代码问题在于直接按逗号全拆分,没有限制拆分次数,会被标题中可能存在的逗号打乱结构。我们可以通过限制split方法的拆分次数实现需求:
- 先按第一个逗号把原始字符串拆为「URL段」和「剩余内容段」两部分
- 从URL段提取key,再把剩余内容段按第一个竖线拆为标题和答案两部分,分别去除两端空白即可
代码实现
# 输入字符串 line = "http://localapp/lkasdjasd/answers/156, Lorem ipsum dolor? is it Lorem, nah? | Here is the answer" # 按第一个逗号拆分,最多得到2个元素,避免后续逗号干扰 url_part, rest_part = line.split(',', 2) # 提取key key = url_part.split('/')[-1].to_i # 按第一个竖线拆分剩余内容,去除两端空白 string1, string2 = rest_part.split('|', 2).map(&:strip)
输出结果
- key:
156 - string1:
Lorem ipsum dolor? is it Lorem, nah? - string2:
Here is the answer
内容的提问来源于stack exchange,提问作者Константин Гришунин
相关产品推荐
相关产品推荐

