我试图仅使用R从任何文本中删除/我已经尝试了不同的方法,我得到了混合的结果。
这是我正在处理s/p Left IOLI 3/9/04.
我正在尝试生成类似sp Left IOLI 3/9/04.
只删除文本中的/
而不是数字。
我试过这四个
gsub("\", "", str, fixed=T)
gsub("/", ".", str, fixed=T)
gsub("[^A-Za-z]", ".", str, perl =T)
str_replace( str, "/", "")
到目前为止只有gsub("[^A-Za-z]", ".", str, perl =T)
有效。 sucker剥夺了所有文本号码和所有内容的/
。我只需要文本中的/
消失。任何帮助都非常感谢人们。
答案 0 :(得分:2)
我们可以使用正则表达式的外观来删除不在数字之间的正斜杠。
{mimetypes: ['image/*', 'application/pdf']}
or
如果我们还需要在左侧或右侧包含非数字字符时删除gsub('(?<![0-9])/(?![0-9])', '', str, perl=TRUE)
#[1] "sp Left IOLI 3/9/04."
,
/
gsub('(?<![0-9])/|/(?![0-9])', '', str1, perl=TRUE)
#[1] "sp Left IOLI 3/9/04." "s12 45p sp Left"
答案 1 :(得分:0)
另一种方法是运行多个正则表达式。这里使用包字符串的str_replace_all进行演示,但显然也可以使用基函数。
#First correct for / between 2 alphabets like s/p
mystring <- str_replace_all(mystring, "([a-zA-Z])/([a-zA-Z])", "\\1\\2")
#Next, correct for / between 1 alphabet and 1 number like s/12 or 45/p
mystring <- str_replace_all(mystring, "([a-zA-Z])/([\\d])", "\\1\\2")
mystring <- str_replace_all(mystring, "([\\d])/([a-zA-Z])", "\\1\\2")