簡體   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