Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.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_Stringr - Fatal编程技术网

仅包含一种字符类型的R字符串

仅包含一种字符类型的R字符串,r,stringr,R,Stringr,我想检查字符串是否只包含一种字符类型 比如说 INPUT: str = "AAAAB" char = "A" OUTPUT: str contains only char = FALSE 使用grepl(char,str)结果为TRUE,但我希望它为FALSE 非常感谢您需要为正则表达式使用not运算符,在您的情况下,这将是: > !grepl("[^A]", "AAA") [1] TRUE > !grepl("[^A]", "AAAB") [1] FALSE 使用变量:

我想检查字符串是否只包含一种字符类型

比如说

INPUT: 

str = "AAAAB"
char = "A"

OUTPUT:

str contains only char = FALSE
使用
grepl(char,str)
结果为TRUE,但我希望它为FALSE


非常感谢

您需要为正则表达式使用
not
运算符,在您的情况下,这将是:

> !grepl("[^A]", "AAA")
[1] TRUE
> !grepl("[^A]", "AAAB")
[1] FALSE
使用变量:

grepl(paste0("[^", char, "]"), srt)

如果要检查特定字符(在
char
中):


str使用
gregexpr

char = "A"

str = "AAAA"
length(unlist(gregexpr(char, str))) == nchar(str)
## [1] TRUE

str = "ABAAA"
length(unlist(gregexpr(char, str))) == nchar(str)
## [1] FALSE

您可以使用“stringi”包中的
stri_计数
,如下所示:

library(stringi)
stri_count_fixed(str, char) == nchar(str)
# [1] FALSE

另一个选项是使用
charToRaw
并检查它是否唯一:

xx <- "AAAAB"
length(unique(charToRaw(xx))) ==1
[1] FALSE

xx如果您的
str
,您可能需要一些特殊的逻辑。例如,在这种情况下,将输出
TRUE
!grepl(“[^A]”,“)
),这可能是您想要的,也可能不是您想要的。这不会将count
char=“A”
作为输入
library(stringi)
stri_count_fixed(str, char) == nchar(str)
# [1] FALSE
xx <- "AAAAB"
length(unique(charToRaw(xx))) ==1
[1] FALSE