In Octave, I want to convert a string into a matrix of strings. Say I have a string:
s = "one two three one one four five two three five four"
I want to split it into a matrix so that it looks like:
one
two
three
four
five
With duplicates removed.
This code:
words = strsplit(s, ",") %Split the string s using the delimiter ',' and return a cell string array of substrings
Just creates a matrix words into exactly the same as s.
How to I convert my string into a matrix of unique words?
解决方案
The following will also accomplish that:
unique(regexp(string, '[A-z]*', 'match'))
or, alternatively,
unique(regexp(s, '\s', 'split'))
Basically the same as Werner's solution, but it saves a temporary and is more flexible when more complicated matches need to be made.