substrDBCS {lazy.tools} | R Documentation |
Substr Using Column Location as the Unit.
substrDBCS(x, start, stop = max(nchar(x, type = "byte")))
x |
A string vector |
start |
The first location |
stop |
The last location |
This is for strictly DUOBLE byte characters. NOT for UTF-8 characters. For strictly double byte characters, this is faster than susbtr2.
About rawToChar and charToRaw functions:
To get the raw expression of a string, use
raw <- charToRaw(paste(c(0:9," ",letters,LETTERS),collapse=""))
To get the numeric equivalent of a raw (vector), use
num <- as.numeric(raw)
.
To recover the original string, use
char <- rawToChar( as.raw(num) )
.
If the n-th byte is the beginning or the ending location of
a double byte character, substrDBCS(x,n,n)
is invalid.
Consult is.DBCS(x)
and use with caution.
A vector consisting of the substrings of the input vector.
# The exa,ple below causes error on R 4.2.0 and above.
## Not run:
# A string consisting of single and double byte characters
nza <- c(97,98,130,131,100,101,130,134,130,135,104)
za <- rawToChar(as.raw(nza))
Print(za)
# location of the double byte characters
is.DBCS(za)
# The first to the fourth characters
substr(za,1,4)
# The characters stored in the first to the fourth bytes of za.
substrDBCS(za,1,4)
## End(Not run)