I would have thought that all 4 of the following would give the same result (the first): > gsub("backslash-X", "\\X", "this is a backslash-X", fixed=T) [1] "this is a \\X" > gsub("backslash-X", "\\X", "this is a backslash-X", extended=F) [1] "this is a X" > gsub("backslash-X", "\\X", "this is a backslash-X", extended=T) [1] "this is a X" > gsub("backslash-X", "\\X", "this is a backslash-X", perl=T) [1] "this is a X" If fixed==F the first "\\" is ignored except if it is followed by a digit. In particular, the replacement string must use "\\\\" to insert a backslash and "\\" by itself is the same as "". When fixed==T, replacement="\\" means to insert a backslash. I've seen code in package:gdata that depends on this behavior but I did not see it described in help(gsub). It describes using replacement="\\<digit>" to put a matched subpattern into the output, but not the fact that replacement="\\<nondigit>" is equivalent to replacement="<nondigit>" (but only when fixed==F). Is that intended or is the help file incomplete? I'd like to get Splus's gsub/substituteString in line with R's. ---------------------------------------------------------------------------- Bill Dunlap Insightful Corporation bill at insightful dot com 360-428-8146 "All statements in this message represent the opinions of the author and do not necessarily reflect Insightful Corporation policy or position."