使用 ruby?? 中的 gsub 正則運算式可以提供一些幫助。我需要用文本字串中的 2 個正斜杠“//”替換 3 個或更多正斜杠“//////”。但是,應跳過單個正斜杠和雙正斜杠并保持原樣。
我的資料看起來像這樣jeep/grand cherokee////////hyundai/////harley davidson//bmw,應該轉換為jeep/grand cherokee//hyundai//harley davidson//bmw
我沒有太多使用 gsub 正則運算式的經驗,這里有一些我嘗試過的東西,但它們要么去掉所有正斜杠,要么添加太多。
vehicles = vehicles.gsub(/[\/\\1{3,}]/, "")
vehicles = vehicles.gsub(/[\/\2 ]/, "//")
vehicles = vehicles.gsub(/[\/{3,}]/,"//")
uj5u.com熱心網友回復:
當您將整個模式括在方括號內時,您使其匹配單個字符。
你的正則運算式意味著:
[\/\\1{3,}]- 單個字符,/,\,1,{,3,,或}[\/\2 ]-/,\u0002字符或[\/{3,}]-/,{,3,,或}
您可以使用
s.gsub(/\/{3,}/, '//')
在線查看Ruby 演示。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/342921.html
