Title: | Handle Strings as Vectors of Characters |
Version: | 0.0.6 |
Description: | Creates a new chars class which looks like a string but is actually a vector of individual characters, making 'strings' iterable. This class enables vector operations on 'strings' such as reverse, sort, head, and set operations. |
License: | MIT + file LICENSE |
Encoding: | UTF-8 |
RoxygenNote: | 7.2.3 |
Suggests: | knitr, rmarkdown, testthat (≥ 3.0.0), vctrs |
VignetteBuilder: | knitr |
Config/testthat/edition: | 3 |
Imports: | generics, utils |
URL: | https://github.com/jonocarroll/charcuterie, https://jonocarroll.github.io/charcuterie/ |
BugReports: | https://github.com/jonocarroll/charcuterie/issues |
NeedsCompilation: | no |
Packaged: | 2024-11-07 21:29:56 UTC; jono |
Author: | Jonathan Carroll |
Maintainer: | Jonathan Carroll <rpkg@jcarroll.com.au> |
Repository: | CRAN |
Date/Publication: | 2024-11-07 21:40:02 UTC |
charcuterie: Handle Strings as Vectors of Characters
Description
Creates a new chars class which looks like a string but is actually a vector of individual characters, making 'strings' iterable. This class enables vector operations on 'strings' such as reverse, sort, head, and set operations.
Author(s)
Maintainer: Jonathan Carroll rpkg@jcarroll.com.au (ORCID)
See Also
Useful links:
Report bugs at https://github.com/jonocarroll/charcuterie/issues
Extract or Replace Parts of a chars
Object
Description
Extract or Replace Parts of a chars
Object
Usage
## S3 method for class 'chars'
x[...]
Arguments
x |
a |
... |
further arguments passed to or from other methods. |
Value
the extracted parts of a chars
object, or a chars
object with
replacements performed.
Examples
s <- chars("censor")
s[2:5]
s[2:5] <- "X"
s
Combine chars
Objects
Description
Combine chars
Objects
Usage
## S3 method for class 'chars'
c(...)
Arguments
... |
|
Value
a larger chars
object containing the combined elements of ...
.
Examples
c(chars("java"), chars("script"))
Create a chars
Object
Description
Create a chars
Object
Usage
chars(x, ...)
Arguments
x |
object to convert to |
... |
other options passed to methods. |
Value
an object of class chars
.
Create a chars
Object From a String
Description
Create a chars
Object From a String
Usage
## S3 method for class 'character'
chars(x, ...)
Arguments
x |
string to convert to a |
... |
unused |
Details
chars
expects a single string as input. To create a list of these,
consider lapply(strings, chars)
Value
an object of class chars
, essentially splitting the string into
individual characters
Convert an Object to chars
Description
Convert an Object to chars
Usage
## Default S3 method:
chars(x, ...)
Arguments
x |
object to convert |
... |
other options |
Value
.NotYetImplemented()
error
Count Characters in a Chars Object
Description
Count Characters in a Chars Object
Usage
count(x, value, ignore.case = FALSE)
Arguments
x |
A vector of characters. |
value |
character (length 1) to count |
ignore.case |
should the letter case be ignored? |
Value
integer, count of instances of value
in x
Examples
count(chars("strawberry"), 3)
Elements of x Except Those in y
Description
Does not treat the operation as a set.
Usage
except(x, y)
Arguments
x |
larger vector. |
y |
smaller vector. |
Value
elements of x
not appearing in y
.
Examples
except(c(1:5), 3)
except(chars("abcde"), "c")
except(chars("abracadabra"), "b")
Format a chars
Object
Description
Format a chars
Object
Usage
## S3 method for class 'chars'
format(x, ...)
Arguments
x |
a |
... |
further arguments passed to or from other methods. |
Value
a formatted chars
object.
Return the First Parts of a chars
Object
Description
Return the First Parts of a chars
Object
Usage
## S3 method for class 'chars'
head(x, ...)
Arguments
x |
a |
... |
further arguments passed to or from other methods. |
Value
the first (n
) elements of a chars
object as a chars
object.
Examples
head(chars("abcdefhgi"))
head(chars("javascript"), 4)
Setwise Intersection of chars
Objects
Description
Setwise Intersection of chars
Objects
Usage
## S3 method for class 'chars'
intersect(x, y, ...)
Arguments
x |
a |
y |
a |
... |
further arguments passed to or from other methods. |
Value
the setwise intersection of x
and y
.
Examples
union(chars("pine"), chars("apple"))
Is a Character a Letter OR a Number?
Description
A combination of is_letter()
and is_number()
.
Usage
is_alnum(x)
Arguments
x |
A vector of characters. |
Value
A boolean vector indicating whether each element of x
is a
letter or a number.
Examples
is_alnum(chars("Lee7c0deR 4 L1fe"))
Filter(is_alnum, chars("2 B or !2 B"))
Is a Character a Letter?
Description
Compares against the values of letters
(the English alphabet),
ignoring case.
Usage
is_letter(x)
Arguments
x |
A vector of characters. |
Value
A boolean vector indicating whether each element of x
is a
letter (appears in letters
ignoring case).
Examples
is_letter(chars("Lee7c0deR"))
Filter(is_letter, chars("w00t"))
Is a Character a Number?
Description
Compares against the values of 0:9
(as a number).
Usage
is_number(x)
Arguments
x |
A vector of characters. |
Value
A boolean vector indicating whether each element of x
is a
number (appears in 0:9
as a number)
Examples
is_number(chars("Lee7c0deR"))
Filter(is_number, chars("w00t"))
Is a Character Punctuation?
Description
Compares against the regex group [[:punct:]]
.
Usage
is_punct(x)
Arguments
x |
A vector of characters. |
Value
A boolean vector indicating whether each element of x
is
considered as punctuation.
Examples
is_punct(chars("I can haz?"))
Filter(Negate(is_punct), chars("abc,123;$*%?"))
Print a chars
Object
Description
Print a chars
Object
Usage
## S3 method for class 'chars'
print(x, ...)
Arguments
x |
a |
... |
further arguments passed to or from other methods. |
Value
x
(invisibly), used to print to console.
Objects exported from other packages
Description
These objects are imported from other packages. Follow the links below to see their documentation.
Reverse Elements of a chars
Object
Description
Reverse Elements of a chars
Object
Usage
## S3 method for class 'chars'
rev(x)
Arguments
x |
a |
Value
a chars
object with the elements reversed.
Examples
rev(chars("racecar"))
rev(chars("alphabet"))
Setwise Difference Between chars
Objects
Description
Setwise Difference Between chars
Objects
Usage
## S3 method for class 'chars'
setdiff(x, y, ...)
Arguments
x |
a |
y |
a |
... |
further arguments passed to or from other methods. |
Value
the setwise difference of x
and y
.
Examples
setdiff(chars("javascript"), chars("script"))
Sort a chars
Object
Description
Sort a chars
Object
Usage
## S3 method for class 'chars'
sort(x, decreasing = FALSE, ...)
Arguments
x |
a |
decreasing |
logical. Should the sort be increasing or decreasing? Not available for partial sorting. |
... |
further arguments passed to or from other methods. |
Value
a sorted chars
object.
Examples
sort(chars("alphabet"))
Create a String From a chars
Object
Description
Create a String From a chars
Object
Usage
string(x, collapse = "", ...)
Arguments
x |
one or more |
collapse |
an optional character string to separate the results. Not NA_character_. |
... |
other arguments passed to |
Value
a character
(traditional R string) with the elements of x
in a single value.
Return the Last Parts of a chars
Object
Description
Return the Last Parts of a chars
Object
Usage
## S3 method for class 'chars'
tail(x, ...)
Arguments
x |
a |
... |
further arguments passed to or from other methods. |
Value
the last (n
) elements of a chars
object as a chars
object.
Examples
tail(chars("javascript"))
tail(chars("abcdefghi"))
Setwise Union of chars
Objects
Description
Setwise Union of chars
Objects
Usage
## S3 method for class 'chars'
union(x, y, ...)
Arguments
x |
a |
y |
a |
... |
further arguments passed to or from other methods. |
Value
the setwise union of x
and y
.
Examples
union(chars("java"), chars("script"))
Extract Unique Elements of chars
Objects.
Description
Extract Unique Elements of chars
Objects.
Usage
## S3 method for class 'chars'
unique(x, ...)
Arguments
x |
a |
... |
further arguments passed to or from other methods. |
Value
a chars
object containing unique elements.
Examples
unique(chars("mississippi"))