Skip to content
Prev 256676 / 398506 Next

Is there a better way to parse strings than this?

Hi Everyone,


I needed to parse some strings recently.

The code I've wound up using seems rather clunky, and I was wondering if
anyone had any suggestions on a better way?

Basically I do the following:

1) Use substr() to do the parsing
2) Use regexpr() to find the location of the string I want to parse on, I
then pass this onto substr()
3) Use nchar() as the stop input to substr() where necessary



I've got a simple example of the parsing code I used below. It takes
questionnaire variable names that includes the question and the brand it
was answered for and then parses it so the variable name and the brand are
in separate columns. I then use this to restructure the data from
unstacked to stacked, but that's another story.
[1] "A5.Brands.bought...Dulux"
[2] "A5.Brands.bought...Haymes"
[3] "A5.Brands.bought...Solver"
[4] "A5.Brands.bought...Taubmans.or.Bristol"
[5] "A5.Brands.bought...Wattyl"
[6] "A5.Brands.bought...Other"
[1] 17 17 17 17 17 17
attr(,"match.length")
[1] 3 3 3 3 3 3
[1] "A5.Brands.bought" "A5.Brands.bought" "A5.Brands.bought"
"A5.Brands.bought"
[5] "A5.Brands.bought" "A5.Brands.bought"
[1] "Dulux"               "Haymes"              "Solver"
[4] "Taubmans.or.Bristol" "Wattyl"              "Other"



Thanks for any and all suggestions


Chris Howden
Founding Partner
Tricky Solutions
Tricky Solutions 4 Tricky Problems
Evidence Based Strategic Development, IP Commercialisation and Innovation,
Data Analysis, Modelling and Training
(mobile) 0410 689 945
(fax / office) (+618) 8952 7878
chris at trickysolutions.com.au