使用gsub删除字符串的结尾

时间:2013-09-25 05:58:58

标签: regex r gsub

我的字符串有两个可能的结尾。第一个没有数字:

http://www.something.com/test.html

第二个带数字(最多两位数)

http://www.something.com/test-1.html
http://www.something.com/test-2.html
http://www.something.com/test-3.html
http://www.something.com/test-4.html
http://www.something.com/test-15.html

我需要从第一个案例中删除.html,从第二个案例中删除-1.html(或任何数字)。我们的想法是使两个字符串可以找到重复的字符串。

我认为以下应该管理第二种情况

gsub("-[0-9]|[1-9][0-9].html", "", string)

但是有可能有管理这两种情况的功能吗?

1 个答案:

答案 0 :(得分:2)

您可以使用以下内容:

(-[0-9]+)?\\.html

请注意,转义点更安全,因为未转义的点将匹配任何字符。

regex101 demo