java - Converting array-formatted string input to string array efficiently -
say 1 has string input in form below:
{ 'oth', 'rej', 'rsto', 'rstos0', 'rstr', 's0', 's1', 's2', 's3', 'sf', 'sh' }
what efficient way convert array of strings each element beingness oth
, rej
, etc.?
i've done using string.replace()
, string.split()
, have considered utilize of regex-s same, wondering whether there more easier/intuitive way of doing so.
each of replace
, split
need iterate on entire string means need iterate on twice. scanner
can in 1 go, need utilize delimiter representing non-word characters (non a-z
a-z
0-9
_
) can written in regex \\w
.
so code can like
string text = "{ 'oth', 'rej', 'rsto', 'rstos0', 'rstr', 's0', 's1', 's2', 's3', 'sf', 'sh' }"; list<string> tokens = new arraylist<>(); scanner sc = new scanner(text); sc.usedelimiter("\\w+");// 1 or more non-word character while(sc.hasnext()) tokens.add(sc.next()); system.out.println(tokens);//[oth, rej, rsto, rstos0, rstr, s0, s1, s2, s3, sf, sh] sc.close();
java arrays string
No comments:
Post a Comment