I have a nonprintable character containing string that I want print to console with a column width of 78 characters. I tried stringr's str_wrap() function, but it seems to be counting the nonprintable characters in its calculation of the column width assignments.
Here is an example to illustrate the problem:
mystring <- "\033[30m\033[1mThis is some dummy text\033[22m\033[39m: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
cat(str_wrap(mystring, width=78))
Here is what I want the output to look like:
mystring <- "This is some dummy text: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
cat(str_wrap(mystring, width=78))
What is a tidyverse friendly way to column wrap a nonprintable character containing string?
Actually, I do want to keep those nonprintable characters in the string. In retrospect, I would have done well to write that I want to output the string
my_formatted_string <- "\033[30m\033[1mThis is some dummy text\033[22m\033[39m: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
to the console in such a manner the column spacing comes out to be the same as with this string
my_unformatted_string <- "This is some dummy text: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
when I output it to the console as follows:
cat(str_wrap(my_unformatted_string, width=78))
Moreover, I want to achieve this in a manner that is in keeping with tidyverse best practices.