我有一个字符串,我正在尝试使用Ruby中的gsub方法.问题是我有一个动态的字符串数组,我需要迭代搜索原始文本并替换.
例如,如果我有以下原始字符串(这是我正在使用的一些示例文本,并希望将其全部工作)并且有一系列我想要搜索和替换的项目.
我在这里先向您的帮助表示感谢!
我有一个混合字母和数字的字符串:
"The sample is 22mg"
Run Code Online (Sandbox Code Playgroud)
我想分割字符串,其中一个数字紧跟着这样的字母:
"The sample is 22 mg"
Run Code Online (Sandbox Code Playgroud)
我试过这个:
gsub('[0-9]+[[aA-zZ]]', '[0-9]+ [[aA-zZ]]', 'This is a test 22mg')
Run Code Online (Sandbox Code Playgroud)
但是没有得到预期的结果.
有什么建议?
我有以下字符串,存储在对象中sentence:
sentence <- "aazdlubtirol: RT @tradeDayTrades: sister articles \"$AAPL Dancing in a Burning Room\" January 2013 http://t.co/tkuCRfLy \" $AAPL vs $AAPL \" August 2011 http://t.co/863HkVjn"
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用gsub删除以下开头的网址http:
sentence <- gsub('http.*','',sentence)
但是,它取代之后的所有内容http:
aazdlubtirol: RT @tradeDayTrades: sister articles \"$AAPL Dancing in a Burning Room\" January 2013
我想要的是:
aazdlubtirol: RT @tradeDayTrades: sister articles \"$AAPL Dancing in a Burning Room\" January 2013 \" $AAPL vs $AAPL \" August 2011
我正在尝试清理网址,所以如果字符串包含http我想要删除网址.我找到了一些解决方案,但他们没有帮助我.
我有一串数字和字符
c2 = "list of 2nd C2 H2O 1 12 123"
Run Code Online (Sandbox Code Playgroud)
我需要摆脱所有数字,即实际数字,即1,12,123,但不是那些属于字符集的数字,即2nd,C2,H2O.
到目前为止,我提出的最佳解决方案是这个
gsub("? [[:digit:]]*", " ", c2)
"list of nd C2 H2O "
Run Code Online (Sandbox Code Playgroud)
它成功地摆脱了1 12 123,同时保留了C2 H2O.但是,我在第二节输掉了2.
我没办法.
谢谢!
我有以下向量:
x <- c(11, 12, 21, 22)
Run Code Online (Sandbox Code Playgroud)
我想将它转换为相应的字母,即我想得到这个结果:
AA AB BA BB
Run Code Online (Sandbox Code Playgroud)
我该怎么做?我打赌这是一个简单的答案,它通过使用保留的LETTERS矢量,但我无法找到解决方案.这是迄今为止我设法提出的最好的(你可能想把孩子带出房间):
> paste0(gsub(1, LETTERS[1], substr(x, 1, 1)),
gsub(2, LETTERS[2], substr(x, 1, 1)))
[1] "A1" "A1" "2B" "2B"
Run Code Online (Sandbox Code Playgroud) 我正在寻找一些关于数据重组的建议.我正在使用Google Forms收集一些数据,我将其作为csv文件下载,如下所示:
# alpha beta option
# 6 8, 9, 10, 11 apple
# 9 6 pear
# 1 6 apple
# 3 8, 9 pear
# 3 6, 8 lime
# 3 1 apple
# 2, 4, 7, 11 9 lime
Run Code Online (Sandbox Code Playgroud)
数据有两个变量(alpha和beta),每个变量都列出数字.对于我的大多数数据,每个变量中只有一个数字.但是,对于某些观察,可以有两个,三个甚至十个数字.这是因为这些是使用谷歌表单中的"复选框"选项收集的回复,它允许对一个调查问题的多个答案.此外,对于一些潜在的解决方案来说,google表单在每个多个答案之前返回前导空格可能很重要.
在我的实际数据中,这只发生在所有观察的很小一部分中,上面是一个更简洁的例子.数据集中还有其他几个变量.在这里,我只包括一个包含因子的"选项".
我需要做的是在'alpha'或'beta'变量中复制包含多个数字的所有观察.重复行的数量应该等于alpha或beta变量中存在的数字的数量.然后,我需要将'alpha'或'beta'变量中的数字序列单独替换为每个数字.这将导致类似以下内容:
# alpha beta option
# 6 8 apple
# 6 9 apple
# 6 10 apple
# 6 11 apple
# 9 6 pear
# 1 6 apple
# 3 8 pear
# 3 9 …Run Code Online (Sandbox Code Playgroud) 我试图在R中应用gsub来将字符串a中的匹配替换为字符串b中的相应匹配.例如:
a <- c("don't", "i'm", "he'd")
b <- c("do not", "i am", "he would")
c <- c("i'm going to the party", "he'd go too")
newc <- gsub(a, b, c)
Run Code Online (Sandbox Code Playgroud)
这样newc ="我要参加聚会","他也会参加聚会".这种方法不起作用,因为gsub只接受a和b的长度为1的字符串.执行循环以循环a和b将非常慢,因为实数a和b的长度为90且c的长度> 200,000.R中是否有矢量化方式来执行此操作?
我有一个列包含由分号分隔的3个字符串的值.我需要提取字符串的第一部分.
Type <- c("SNSR_RMIN_PSX150Y_CSH;SP_12;I0.00V50HX0HY3000")
Run Code Online (Sandbox Code Playgroud)
我想要的是:获取字符串的第一部分(直到第一个分号).
输出: SNSR_RMIN_PSX150Y_CSH
我试过gsub但不能理解.请告诉我们如何在R中有效地做到这一点.
我有一个字母,其中包含字母数字字符,特殊字符和非UTF-8字符.我想删除特殊和非utf-8字符.
这是我尝试过的:
gsub('[^0-9a-z\\s]','',"�+ Sample string here =�{�>E�BH�P<]�{�>")
Run Code Online (Sandbox Code Playgroud)
但是,这会删除特殊字符(标点符号+非utf8),但输出没有空格.
gsub('/[^0-9a-z\\s]/i','',"�+ Sample string here =�{�>E�BH�P<]�{�>")
Run Code Online (Sandbox Code Playgroud)
结果有空格但仍然存在非utf8字符.
有什么工作吗?
对于上面的示例字符串,输出应为:此处的示例字符串
我有一个字符串向量:
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.