用数字和字母拆分字符串
Split a string with numbers and letters
我有字母和数字混合的字符串。我想把它们分开并从中造句。
a<-"DiabetesTestInPast12months"
b<-"SmokingMorethan12PackYears"
c<-"30MinsOrLessExercise"
我想得到:
a<-"Diabetes test in past 12 months"
b<-"Smoking more than 12 pack years"
c<-"30 mins or less exercise"
我想不出使用 stringr
的 str_extract_all
.
提取矢量内数字的方法
我正在研究 C#。
请使用以下代码,您可以根据需要拆分字符串。
`if (str.IsAllUpper()) return str;
return Regex.Replace(str, "([A-Z]{1,2}|[0-9]+)", " ").TrimStart();`
我会尝试:
#combine all the string in a vector
a<-c(a,b,c)
gsub("(?<=[0-9])(?=[A-Za-z])","\1 \2",
gsub("(?<=[a-z])(?=[A-Z0-9])","\1 \2",a,perl=TRUE),
perl=TRUE)
#[1] "Diabetes Test In Past 12 months" "Smoking Morethan 12 Pack Years"
#[3] "30 Mins Or Less Exercise"
稍微简化一下:
gsub("(?<=[a-z])(?=[A-Z0-9])|(?<=[0-9])(?=[A-Za-z])"," ",a,perl=TRUE)
获得相同的输出。
请注意 Morethan
不能拆分,因为无法知道它们是单独的单词(MoreThan
会)。
我有字母和数字混合的字符串。我想把它们分开并从中造句。
a<-"DiabetesTestInPast12months"
b<-"SmokingMorethan12PackYears"
c<-"30MinsOrLessExercise"
我想得到:
a<-"Diabetes test in past 12 months"
b<-"Smoking more than 12 pack years"
c<-"30 mins or less exercise"
我想不出使用 stringr
的 str_extract_all
.
我正在研究 C#。 请使用以下代码,您可以根据需要拆分字符串。
`if (str.IsAllUpper()) return str;
return Regex.Replace(str, "([A-Z]{1,2}|[0-9]+)", " ").TrimStart();`
我会尝试:
#combine all the string in a vector
a<-c(a,b,c)
gsub("(?<=[0-9])(?=[A-Za-z])","\1 \2",
gsub("(?<=[a-z])(?=[A-Z0-9])","\1 \2",a,perl=TRUE),
perl=TRUE)
#[1] "Diabetes Test In Past 12 months" "Smoking Morethan 12 Pack Years"
#[3] "30 Mins Or Less Exercise"
稍微简化一下:
gsub("(?<=[a-z])(?=[A-Z0-9])|(?<=[0-9])(?=[A-Za-z])"," ",a,perl=TRUE)
获得相同的输出。
请注意 Morethan
不能拆分,因为无法知道它们是单独的单词(MoreThan
会)。