R 中的字符串 - 在选定的字母字符和数字字符之间插入 space
Strings in R - insert space between selected alphabet character and numeric characters
我有需要保持一致的医院病房数据。第一个数字字符是楼层号,后面的字母字符是病房缩写,最后两个数字字符是床号。
所以 2EA 28 将是 2 楼,Ward East 和 Bed 28。
输入的位置有不一致的空格,因此我有以下内容:
toyraw<-data.table(incident_no = c(1:6), location =c("2EA17","2EA 17", "1ED1", "1ED23", "1ED 34","ICU24"))
我希望它看起来像下面这样
toyideal<-data.table(incident_no = c(1:5), location =c("2EA 17","2EA 17", "1ED 1", "1ED 23", "1ED 34", "ICU 24"))
如果前面没有数字,我会一次只分出数字和字符,但因为它是数字,字符数字会造成问题。有 1462 行。
进一步的并发症,ICU等底层病房没有前面的编号。
根据要求添加 - 人类可读的名称
人类可读的名称:
additional<-data.table(incident_no = c(1:5), location =c("2EA 17","2EA 17", "1ED 1", "1ED 23", "1ED 34"),
human_Readable = c("Ward 2 East Bed 17","Ward 2 East Bed 17", "Ward 1 Emergency Department
Bed 1", "Ward 1 Emergency Department Bed 23", "Ward 1 Emergency Department Bed 24",
"Ward ICU Bed 24"))
您可以为此使用 gsub()
:
> gsub("(\d*)(\D*)\s*(\d*)",
"Floor \1 Ward \2 and Bed \3.",
gsub(" ", "", "1ED 34"))
[1] "Floor 1 Ward ED and Bed 34."
这是我使用的正则表达式:
(\d*)(\D*)\s*(\d*)
我有需要保持一致的医院病房数据。第一个数字字符是楼层号,后面的字母字符是病房缩写,最后两个数字字符是床号。
所以 2EA 28 将是 2 楼,Ward East 和 Bed 28。
输入的位置有不一致的空格,因此我有以下内容:
toyraw<-data.table(incident_no = c(1:6), location =c("2EA17","2EA 17", "1ED1", "1ED23", "1ED 34","ICU24"))
我希望它看起来像下面这样
toyideal<-data.table(incident_no = c(1:5), location =c("2EA 17","2EA 17", "1ED 1", "1ED 23", "1ED 34", "ICU 24"))
如果前面没有数字,我会一次只分出数字和字符,但因为它是数字,字符数字会造成问题。有 1462 行。
进一步的并发症,ICU等底层病房没有前面的编号。
根据要求添加 - 人类可读的名称
人类可读的名称:
additional<-data.table(incident_no = c(1:5), location =c("2EA 17","2EA 17", "1ED 1", "1ED 23", "1ED 34"),
human_Readable = c("Ward 2 East Bed 17","Ward 2 East Bed 17", "Ward 1 Emergency Department
Bed 1", "Ward 1 Emergency Department Bed 23", "Ward 1 Emergency Department Bed 24",
"Ward ICU Bed 24"))
您可以为此使用 gsub()
:
> gsub("(\d*)(\D*)\s*(\d*)",
"Floor \1 Ward \2 and Bed \3.",
gsub(" ", "", "1ED 34"))
[1] "Floor 1 Ward ED and Bed 34."
这是我使用的正则表达式:
(\d*)(\D*)\s*(\d*)