gsub替换最后一个字符串的未知长度的最后space
Gsub replace the last space of an unknown length of the last string
我有这个数据,其中包含电视剧数据
"!Next?" (1994) 1994-1995
"#1 Single" (2006) 2006-????
"#1 Single" (2006) {Cats and Dogs (#1.4)} 2006
"#1 Single" (2006) {Finishing a Chapter (#1.5)} 2006
"#1 Single" (2006) {Is the Grass Greener? (#1.1)} 2006
"1941" (2009) {(#1.9)} ????
"1942" (2011) 2011-????
我要把这个分成系列名|生产日期|剧集名称|发行年份
剧集名称不均匀(可能存在也可能不存在),如上文 1942 年(最后一条记录)的情况所示。因此我将从最后一个字符开始计算字符数。
目前,我已经完成了name| production date|
,但是在发布年份之前添加一个pipe(|)
有点乏味。
我想要这样的输出
"!Next?" |1994| |1994-1995
"#1 Single" |2006| |2006-????
"#1 Single" |2006| {Cats and Dogs (#1.4)} |2006
"#1 Single" |2006| {Finishing a Chapter (#1.5)} |2006
"#1 Single" |2006| {Is the Grass Greener? (#1.1)} |2006
"1941" |2009| {(#1.9)} |????
"1942" |2011| |2011-????
我使用 sub 获得了前 2 个管道,但无法获得第 3 个。
如果有人可以帮助,请
您可以使用反向引用来完成此类任务(input
是要修改的字符串向量):
gsub(pattern = "([0-9?-]+$)",
replacement = "|\1",
x = input)
基本上它搜索位于末尾的最大字符串,该字符串由数字组成,“?”和 ”-”;获取该字符串并通过前面的“|”替换为其修改后的副本。
我有这个数据,其中包含电视剧数据
"!Next?" (1994) 1994-1995
"#1 Single" (2006) 2006-????
"#1 Single" (2006) {Cats and Dogs (#1.4)} 2006
"#1 Single" (2006) {Finishing a Chapter (#1.5)} 2006
"#1 Single" (2006) {Is the Grass Greener? (#1.1)} 2006
"1941" (2009) {(#1.9)} ????
"1942" (2011) 2011-????
我要把这个分成系列名|生产日期|剧集名称|发行年份
剧集名称不均匀(可能存在也可能不存在),如上文 1942 年(最后一条记录)的情况所示。因此我将从最后一个字符开始计算字符数。
目前,我已经完成了name| production date|
,但是在发布年份之前添加一个pipe(|)
有点乏味。
我想要这样的输出
"!Next?" |1994| |1994-1995
"#1 Single" |2006| |2006-????
"#1 Single" |2006| {Cats and Dogs (#1.4)} |2006
"#1 Single" |2006| {Finishing a Chapter (#1.5)} |2006
"#1 Single" |2006| {Is the Grass Greener? (#1.1)} |2006
"1941" |2009| {(#1.9)} |????
"1942" |2011| |2011-????
我使用 sub 获得了前 2 个管道,但无法获得第 3 个。 如果有人可以帮助,请
您可以使用反向引用来完成此类任务(input
是要修改的字符串向量):
gsub(pattern = "([0-9?-]+$)",
replacement = "|\1",
x = input)
基本上它搜索位于末尾的最大字符串,该字符串由数字组成,“?”和 ”-”;获取该字符串并通过前面的“|”替换为其修改后的副本。