수색…


비고

패키지를 설치하려면 다음을 실행하십시오.

install.packages("stringi")

그것을로드하려면 :

require("stringi")

문자열 내부의 패턴 계산

고정 패턴 사용

stri_count_fixed("babab", "b")
# [1] 3
stri_count_fixed("babab", "ba")
# [1] 2
stri_count_fixed("babab", "bab")
# [1] 1

기본적으로 :

length(gregexpr("b","babab")[[1]])
# [1] 3
length(gregexpr("ba","babab")[[1]])
# [1] 2
length(gregexpr("bab","babab")[[1]])
# [1] 1

함수는 문자열과 패턴에 대해 벡터화됩니다.

stri_count_fixed("babab", c("b","ba"))
# [1] 3 2
stri_count_fixed(c("babab","bbb","bca","abc"), c("b","ba"))
# [1] 3 0 1 0

기본 R 솔루션 :

sapply(c("b","ba"),function(x)length(gregexpr(x,"babab")[[1]]))
# b ba 
# 3  2

정규식 사용

첫 번째 예 - 뒤에있는 문자를 찾으십시오 a

두 번째 예 - a 와 임의의 숫자 찾기

stri_count_regex("a1 b2 a3 b4 aa", "a.")
# [1] 3
stri_count_regex("a1 b2 a3 b4 aa", "a\\d")
# [1] 2

문자열 복제

stri_dup("abc",3)
# [1] "abcabcabc"

동일하게하는 기본 R 솔루션은 다음과 같습니다.

paste0(rep("abc",3),collapse = "")
# [1] "abcabcabc"

벡터 붙여 넣기

stri_paste(LETTERS,"-", 1:13)
# [1] "A-1"  "B-2"  "C-3"  "D-4"  "E-5"  "F-6"  "G-7"  "H-8"  "I-9"  "J-10" "K-11" "L-12" "M-13" 
# [14] "N-1"  "O-2"  "P-3"  "Q-4"  "R-5"  "S-6"  "T-7"  "U-8"  "V-9"  "W-10" "X-11" "Y-12" "Z-13"

기본적으로 R을 통해 다음과 같이 할 수 있습니다.

> paste(LETTERS,1:13,sep="-")
 #[1] "A-1"  "B-2"  "C-3"  "D-4"  "E-5"  "F-6"  "G-7"  "H-8"  "I-9"  "J-10" "K-11" "L-12" "M-13"
 #[14] "N-1"  "O-2" "P-3"  "Q-4"  "R-5"  "S-6"  "T-7"  "U-8"  "V-9"  "W-10" "X-11" "Y-12" "Z-13"

고정 된 패턴으로 텍스트 분할하기

하나의 패턴을 사용하여 텍스트의 벡터를 분할합니다.

stri_split_fixed(c("To be or not to be.", "This is very short sentence.")," ")
# [[1]]
# [1] "To"  "be"  "or"  "not" "to"  "be."
# 
# [[2]]
# [1] "This"      "is"        "very"      "short"     "sentence."

여러 패턴을 사용하여 텍스트 하나를 분할하십시오.

stri_split_fixed("Apples, oranges and pineaplles.",c(" ", ",", "s"))
# [[1]]
# [1] "Apples,"     "oranges"     "and"         "pineaplles."
# 
# [[2]]
# [1] "Apples"                   " oranges and pineaplles."
# 
# [[3]]
# [1] "Apple"          ", orange"       " and pineaplle" "."     


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow