繁体   English   中英

我们可以在gsub中使用关系运算符吗?

[英]Can we use the relational operator in gsub?

我需要更换. 字符与. \\n . \\n为以下字符串格式。 但是,约束条件是,请勿替换. 仅在以下模式字符串中带有.\\n字符。

"test was done and was negative. Urine dipstick: ph = 6\\n \\342\\200\\242 spec. Grav.  = 1.015"

我需要以下输出,例如

"test was done and was negative. \n Urine dipstick: ph = 6\\n \\342\\200\\242 spec. Grav.  = 1.015"

约束是=> "spec. Grav. = 1.015"

str = "test was done and was negative. Urine dipstick: ph = 6\\n \\342\\200\\242 spec. Grav.  = 1.015"

puts str.sub('. ', ".\n") 

#=> test was done and was negative.
#=> Urine dipstick: ph = 6\n \342\200\242 spec. Grav.  = 1.015

String.sub仅替换第一个匹配项。

str.gsub(/\.(?! (Grav| =))/, ".\n")

应该做的工作。

简要说明

  • \\. 匹配任何.
  • (?!)表示否定的前瞻。 这意味着它将不匹配这些括号中的任何内容。
  • (Grav| =)因此后跟Grav=点将不匹配。

你要这个?

str.gsub(/\.(?!\n)/, "\.\n")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM