gpt4 book ai didi

ruby 全局变量美元符号分号 ($;) 正则表达式等效

转载 作者:太空宇宙 更新时间:2023-11-03 16:09:12 24 4
gpt4 key购买 nike

我有一个字符串 "\nbed.bed_id,\nbed.bed_label,\nbed.room_id,\nbed.pool_bed, nbed.record_state\n"我需要用空格分割它和逗号。

我尝试了 split(/,?\s+/) ,但在开头也留下了 ""

使用 split($;) 不会。我正在寻找的是 split(/,?$;/) 有没有办法保留默认功能并添加到它?

(p.s 我知道我可以做这个 split[1..-1],在 ruby​​ 中有很多方法可以做事)。

更新:

  • 我的问题是 $; 我不确定它到底是什么,并认为它有特殊的含义,因为作为一个变量 irb>$; #=> 无。现在可能是我错过了它,或者文档已经更新但是,ruby-doc.org 说“如果省略模式,则使用 $; 的值。如果 $; 为 nil(默认值), str 被空格分割,就像指定了 ` ' 一样。"

  • 此外,$; 来自 Perl 或 awk,称为 SUBSEP,以及关于为什么用 $; 去掉开头的进一步解释> 在这里 Why is split(' ') trying to be (too) smart?

最佳答案

在这种情况下,您不能避免 split() 在开始或结束时返回一些空元素吗?

尝试拒绝数组中的空字符串:

string.split(/,?\s+/).reject &:empty?

关于ruby 全局变量美元符号分号 ($;) 正则表达式等效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7349672/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com