R字符串操作

  1. 字符串长度:nchar()。
  2. 连接字符串:paste()/paste0(),两个主要参数sep和collapse。
  3. 抽取子字符串:substr(string, start, end),注意坐标从1开始。
  4. Splitting a string according to a delimiter:strsplit(string, delimiter),注意delimiter可以是一个简单的字符串,也可以是正则表达式。如path <- “/home/mike/data/trials.csv”,strsplit(path, “/”) 会返回一个list。
  5. 子串替换:sub(old, new, string)只对第一个进行替换,gsub(old, new, string)替换所有的instances。注意参数old可以是正则表达式。
  6. Generating all pairwise combinations of strings:用outer()和paste()函数,m <- outer(strings1, strings2, paste, sep = “”)。

正则表达式

  1. “^”匹配一个字符串的开始。如sub(“^abc”, "def”, c(“abcabc”, “abcdef”))的输出为["defabc" "defdef"]。
  2. 美元符号匹配一个字符串的结尾。如sub("a$", "", c("helloa", "lovea"))的输出为["hello" "love" ]。
  3. “.”匹配除了换行符以外的任意字符。如sub("a.c", "", c("abcd", "sdacd"))的输出为["d" "sdacd"]。
  4. “*”将其前的字符进行0个或多个的匹配。如sub("a*b","",c("aabcd","dcaaaba"))的输出为["cd" "dca"]。
  5. “?”匹配0或1个正好在它之前的那个字符。
  6. “+”匹配1或多个正好在它之前的那个字符。
  7. “.*”可以匹配任意字符。如sub("a.*e","",c("abcde","edcba"))的输出为["" "edcba"]。
  8. “|”表示逻辑或。如sub("ab|ba","",c("abcd","dcba")),可以替换ab或者ba。
  9. “[]”用来匹配多个字符,如果不使用任何分隔符号,则搜寻这个集合。
  10. “^”还可以表示逻辑的补集,需要写在“[]”中,比如sub("[^ab]","",c("abcd","dcba"))匹配除了a和b之外的所有字符。

Remarks

  • lower.tri()函数。
posted @ 2013-02-14 19:18  cchen  阅读(377)  评论(0)    收藏  举报