我读了一个文件:
local logfile = io.open("log.txt", "r")
data = logfile:read("*a")
print(data)
Run Code Online (Sandbox Code Playgroud)
输出:
...
"(\.)\n(\w)", r"\1 \2"
"\n[^\t]", "", x, re.S
...
Run Code Online (Sandbox Code Playgroud)
是的,logfile看起来很糟糕,因为它充满了各种命令
如何从数据变量中调用gsub和删除ie "(\.)\n(\w)", r"\1 \2"行?
下面的代码段,不起作用:
s='"(\.)\n(\w)", r"\1 \2"'
data=data:gsub(s, '')
Run Code Online (Sandbox Code Playgroud)
我想有些逃避需要完成.任何简单的方案?
更新:
local data = [["(\.)\n(\w)", r"\1 \2"
"\n[^\t]", "", x, re.S]]
local s = [["(\.)\n(\w)", r"\1 \2"]]
local function esc(x)
return (x:gsub('%%', '%%%%')
:gsub('^%^', '%%^')
:gsub('%$$', '%%$')
:gsub('%(', '%%(')
:gsub('%)', '%%)')
:gsub('%.', '%%.')
:gsub('%[', '%%[')
:gsub('%]', '%%]')
:gsub('%*', '%%*')
:gsub('%+', '%%+')
:gsub('%-', '%%-')
:gsub('%?', …Run Code Online (Sandbox Code Playgroud) 我有一个包含字符串"Energyper m"的矩阵.在'm'是带有问号的菱形符号之前 - 我不知道它是什么.
我试图通过在矩阵的列上使用它来摆脱它:
a=gsub('Energy per ?m','',a)
Run Code Online (Sandbox Code Playgroud)
[和使用复制/粘贴的GSUB的第一项],但它不工作.[意想不到的符号"A =代表(5,能源每".当我尝试提取从原来的矩阵grepl我得到的东西:
46: In grepl("ref. value", raw$parameter) :
input string 15318 is invalid in this locale
Run Code Online (Sandbox Code Playgroud)
我该怎样摆脱所有这些迹象?我想只有0-9,AZ,az,/和'.其余的可能会被破坏.
假设我有一个字符串
s = "PleaseAddSpacesBetweenTheseWords"
Run Code Online (Sandbox Code Playgroud)
我如何在R中使用gsub在单词之间添加一个空格以便我得到
"Please Add Spaces Between These Words"
Run Code Online (Sandbox Code Playgroud)
我应该做点什么
gsub("[a-z][A-Z]", ???, s)
Run Code Online (Sandbox Code Playgroud)
我该怎么办?另外,我发现R的正则表达式文档令人困惑,因此对R中的正则表达式的引用或写法将非常感激.
我是一个正则表达式初学者,因为我通常不处理文本。我有一个非常简单的问题。我设法构造了以下正则表达式以在逗号后提取数据:
sub('.*,\\s*','', X)
Run Code Online (Sandbox Code Playgroud)
其中 X 是我正在搜索的列。
我现在想分别提取逗号前的数据,但我正在努力使用正则表达式语法。感谢帮助。
我有一个字符串:
q <-"<U+00A6> 1000-66329"
Run Code Online (Sandbox Code Playgroud)
我想删除<U+00A6>并获取1000 66329.
我试过用:
gsub("\u00a6"," ", q,perl=T)
Run Code Online (Sandbox Code Playgroud)
但它并没有删除任何东西.我该怎么办gsub才能获得1000 66329?
我有一个字符串向量:
ve <- c("N","A","A","A","N","ANN","NA","NFNFNAA","23","N","A","NN", "parnot", "important", "notall")
Run Code Online (Sandbox Code Playgroud)
我只想在此向量中保留三个可能的值:N、A和NA。
因此,我想替换任何不是N或A的元素NA。
我怎样才能实现这个目标?
我已经尝试过以下方法:
gsub(ve, pattern = '[^NA]+', replacement = 'NA')
gsub(ve, pattern = '[^N|^A]+', replacement = 'NA')
Run Code Online (Sandbox Code Playgroud)
但这些效果不佳,因为它们将每个字符串中的每个“A”或“N”实例替换为 NA。所以在某些情况下我最终会得到NANANANANANA, 而不是简单地NA.
Col
WBU-ARGU*06:03:04
WBU-ARDU*08:01:01
WBU-ARFU*11:03:05
WBU-ARFU*03:456
Run Code Online (Sandbox Code Playgroud)
我有一列有 75 行变量,例如上面的 col。我不太确定如何使用 gsub 或 sub 以便在第一个冒号之后的整数之前起床。
预期输出:
Col
WBU-ARGU*06:03
WBU-ARDU*08:01
WBU-ARFU*11:03
WBU-ARFU*03:456
Run Code Online (Sandbox Code Playgroud)
我试过这个,但它似乎不起作用:
gsub("*..:","", df$col)
Run Code Online (Sandbox Code Playgroud) 我有两个字符串:
mystring1 <- c("hello i am a cat. just kidding, i'm not a cat i'm a cat. dogs are the best animal. not cats!")
mystring2 <- c("hello i am a cat. just kidding, i'm not a cat i'm a cat. but i have a cat friend that is a cat.")
Run Code Online (Sandbox Code Playgroud)
我想将两个字符串中第三次出现的单词 cat 更改为 dog。
理想的情况下,string1与string2内容如下:
mystring1
[1] "hello i am a cat. just kidding, i'm not a cat i'm a dog. dogs are the best animal. …Run Code Online (Sandbox Code Playgroud) 我有一个看起来像这样的字符串:
problem <- c("GROUP 1", "GROUP 1 & GROUP 2", "GROUP 1 & GROUP 2 & GROUP 3", "GROUP 1 & GROUP 2 & GROUP 3 & GROUP 4")
Run Code Online (Sandbox Code Playgroud)
每组之间有“&”。当存在多个“&”时,我想使用 R(或者包sub()中的某些东西)将每个“&”替换为“,”。stringr但是,我不想改变最后的“&”。我该怎么做,它看起来像:
#Note: Only the 3rd and 4th strings should be changed
solution <- c("GROUP 1", "GROUP 1 & GROUP 2", "GROUP 1, GROUP 2 & GROUP 3", "GROUP 1, GROUP 2, GROUP 3 & GROUP 4")
Run Code Online (Sandbox Code Playgroud)
在实际的字符串中,可能有无限数量的“&”,所以如果可能的话,我不想硬编码限制。
我正在尝试修剪 R 字符串列表中的尾随方括号、内部引号和斜杠,最好使用dplyr.
样本数据:
df <- c("['Mamie Smith']", "[\"Screamin' Jay Hawkins\"]")
Run Code Online (Sandbox Code Playgroud)
预期结果:
"Mamie Smith", "Screamin' Jay Hawkins"
Run Code Online (Sandbox Code Playgroud)
我尝试过的:
"Mamie Smith", "Screamin' Jay Hawkins"
Run Code Online (Sandbox Code Playgroud)
df %>%
str_replace("[[]]", "") # Also throws error
Run Code Online (Sandbox Code Playgroud)