2
다음과 같이 문자 벡터 x
과 data.frame
y
이 있습니다. 문자열에서 선택한 단어 사이의 공백 제거
x <- c("Pumpkin Helmet", "Warm Puppy", "Frisbee Sailing",
"Warm Puppy Frisbee Sailing", "Good Sport", "Masked Marvel",
"Spring Dance", "Spring Warm Dance Puppy", "Sock it to Me",
"Maskedspring Dancemarvel", "warm Puppy", "masked marvel",
"WARM PUPPY", " Spring Dance", "Warm Puppy Spring Dance",
"Warmspring Dancepuppy")
x
[1] "Pumpkin Helmet" "Warm Puppy" "Frisbee Sailing"
[4] "Warm Puppy Frisbee Sailing" "Good Sport" "Masked Marvel"
[7] "Spring Dance" "Spring Warm Dance Puppy" "Sock it to Me"
[10] "Maskedspring Dancemarvel" "warm Puppy" "masked marvel"
[13] "WARM PUPPY" " Spring Dance" "Warm Puppy Spring Dance"
[16] "Warmspring Dancepuppy"
a <- c("Masked", "Warm", "spring")
b <- c("Marvel", "Puppy", "dance")
y <- data.frame(a,b)
y
a b
1 Masked Marvel
2 Warm Puppy
3 spring dance
나는 그들이
x
에 존재하는 곳 Y의 행에있는 단어를 병합
regex
를 사용하는 함수를 만들려고하고 있습니다.
나는 을 얻으려고하기 전에 다음과 같이 시도했다. apply
을 x
과 y
으로 시도했다. 나는 아직도 R
에서 regex
와 sruggling하고
gsub("Spring(\\s+)Dance.*", "SpringDance", x)
gsub("spring(\\s+)Dance.*", "SpringDance", x)
gsub("Warm(\\s+)Puppy.*", "WarmPuppy", x)
는 원하는 출력 out
을 얻을 수 있습니다. 이 경우에는 이상적인 regex
이 무엇입니까? 전체 단어 만 일치해야하며 대소 문자를 무시하고 중간에 여러 개의 공백을 제거해야합니다. 당신이 뭔가를 원하는 것처럼
out <- c("Pumpkin Helmet", "WarmPuppy", "Frisbee Sailing",
"WarmPuppy Frisbee Sailing", "Good Sport", "MaskedMarvel",
"SpringDance", "Spring Warm Dance Puppy", "Sock it to Me",
"Maskedspring Dancemarvel", "warmPuppy", "maskedmarvel",
"WARMPUPPY", " SpringDance", "WarmPuppy SpringDance",
"Warmspring Dancepuppy")
[1] "Pumpkin Helmet" "WarmPuppy" "Frisbee Sailing"
[4] "WarmPuppy Frisbee Sailing" "Good Sport" "MaskedMarvel"
[7] "SpringDance" "Spring Warm Dance Puppy" "Sock it to Me"
[10] "Maskedspring Dancemarvel" "warmPuppy" "maskedmarvel"
[13] "WARMPUPPY" " SpringDance" "WarmPuppy SpringDance"
[16] "Warmspring Dancepuppy"
그래. 마지막 하나는 내가 원했던 것입니다. 설명은 정규식을 이해하는 데 아주 좋습니다. – Crops