java - String.split() not working as intended -
i'm trying split string, however, i'm not getting expected output.
string 1 = "hello 0xa0xagoodbye"; string two[] = one.split(" |0xa"); system.out.println(arrays.tostring(two)); expected output: [hello, goodbye]
what got: [hello, , , goodbye]
why happening , how can fix it?
thanks in advance! ^-^
this result caused multiple consecutive matches in string. may wrap pattern grouping construct , apply + quantifier match multiple matches:
string 1 = "hello 0xa0xagoodbye"; string two[] = one.split("(?:\\s|0xa)+"); system.out.println(arrays.tostring(two)); a (?:\s|0xa)+ regex matches 1 or more whitespace symbols or 0xa literal character sequences.
see java online demo.
however, still empty value first item in resulting array if 0xa or whitespaces appear @ start of string. then, have remove them first:
string two[] = one.replacefirst("^(?:\\s|0xa)+", "").split("(?:\\s+|0xa)+"); see another java demo.
Comments
Post a Comment