Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
替换R中两个空格之间的文本_R_Replace - Fatal编程技术网

替换R中两个空格之间的文本

替换R中两个空格之间的文本,r,replace,R,Replace,我有这个字符串: \tBangkok\t 1\tAGGGGCCHCCTTTTCTCTTTCTCT\t. 在此字符串中,我希望将“\t”和“\t”(即曼谷)之间的文本替换为Hanoi。 因此,结果将是 \tHanoi\t 1\tAGGGGCCHCCTTTTCTCTTTCTCT\t 此外,我想用如下文本替换“1\t”和“\t”之间的文本 "AFGGGKKKKCTTJJCTCTTTCTCT" (长度相同) 我应该对几行代码执行相同的操作,因此我想找到一个更通用的命令来执行此操作。

我有这个字符串:

  \tBangkok\t 1\tAGGGGCCHCCTTTTCTCTTTCTCT\t.
在此字符串中,我希望将“\t”和“\t”(即曼谷)之间的文本替换为Hanoi。 因此,结果将是

   \tHanoi\t 1\tAGGGGCCHCCTTTTCTCTTTCTCT\t
此外,我想用如下文本替换“1\t”和“\t”之间的文本

   "AFGGGKKKKCTTJJCTCTTTCTCT"
(长度相同)

我应该对几行代码执行相同的操作,因此我想找到一个更通用的命令来执行此操作。

您可以尝试此操作

> x <- "\tBangkok\t 1\tAGGGGCCHCCTTTTCTCTTTCTCT\t"
> gsub("\\B\\t\\K\\w+(?=\\t)", "HAnoi", x, perl=T)
[1] "\tHAnoi\t 1\tAGGGGCCHCCTTTTCTCTTTCTCT\t"
> y <- gsub("\\B\\t\\K\\w+(?=\\t)", "HAnoi", x, perl=T)
> gsub("(1\\t)\\w+(\\t)", "\\1AFGGGKKKKCTTJJCTCTTTCTCT\\2", y, perl=T)
[1] "\tHAnoi\t 1\tAFGGGKKKKCTTJJCTCTTTCTCT\t"
>x gsub(\\B\\t\\K\\w+(?=\\t)”,“HAnoi”,x,perl=t)
[1] “\tHAnoi\t 1\taggggcchccttctt\t”
>y gsub(“(1\\t)\\w+(\\t)”,“\\1AFGGGKKKKTTJJCTCTTTCT\\2”,y,perl=t)
[1] “\tHAnoi\t 1\tafggkkkkttjjcttttct\t”

Try
sub('\\w+','Hanoi',str1)
我试过了,但只给了我一个单词Hanoi。这是第一个案例<代码>str1您也可以使用:
stringi::stri\u replace\u all\u regex(“\tBangkok\t 1\taggggcchccttctct\t”,c(“\t.*?\t”,”(\\d+\t.*?\t”)、c(“\tHanoi\t”、“$1\tafgggkkkktjtctttct”),矢量化\u all=FALSE)
。如果要替换多个文本,则可能是
v1,使用此命令,我获得了所需的内容,但问题是,在第二个命令中,我必须在要添加的文本中使用\\1和\\2。是否有一个命令只接受“afgggkkkktjjctctctct”并将其放在\t和\t之间?
> x <- "\tBangkok\t 1\tAGGGGCCHCCTTTTCTCTTTCTCT\t"
> gsub("\\B\\t\\K\\w+(?=\\t)", "HAnoi", x, perl=T)
[1] "\tHAnoi\t 1\tAGGGGCCHCCTTTTCTCTTTCTCT\t"
> y <- gsub("\\B\\t\\K\\w+(?=\\t)", "HAnoi", x, perl=T)
> gsub("(1\\t)\\w+(\\t)", "\\1AFGGGKKKKCTTJJCTCTTTCTCT\\2", y, perl=T)
[1] "\tHAnoi\t 1\tAFGGGKKKKCTTJJCTCTTTCTCT\t"