我在用另一个字符串替换部分字符串时遇到了一些问题。
我希望将此字符串"this-is-a-string.jpg"
替换为"this-is-a-hash.jpg"
。
string
值可以是任何值。
这是我到目前为止。
str = "this-is-a-string.jpg"
str.gsub(/([a-z]+)[^\.]+?$/i, "hash")
# => "this-is-a-string.hash"
答案 0 :(得分:2)
我和rubular一起玩了,如果你不介意在替换时手动添加一个点,我想出了一个正则表达式。 这就是我想出来的
"this-is-a-string.jpg".gsub(/\w+\./, 'hash.')
所以我猜你可以创建一个简单的函数来代替它,就像
一样def replace_string(string_to_replace, replacement)
string_to_replace(/\w+\./, "#{replacement}.")
end
在ruby 1.9.2中我设法提取“字符串”这个词,但我不知道这对你有用。
/[-\w]+\-(?<word>(\w+))\.\w+/ =~ "this-is-a-string.jpg"
=> 0
word
=> "string"
我希望我能帮助你,并提供你需要的信息