i have string:
"cl,up_remove_line,#global_session_id,arg_stage=false,arg_project_id=-1,#global_line_id,arg_activity_id=-1,arg_mode=1,arg_line_id=#global_line_id,arg_session_id=-1" i tried:
splitty = regex.split(linetext,@"[\,]+\s*(?>arg_){1}?"); and received:
{string[7]} [0]: "cl,up_remove_line,#global_session_id" [1]: "stage=false" [2]: "project_id=-1,#global_line_id" [3]: "activity_id=-1" [4]: "mode=1" [5]: "line_id=#global_line_id" [6]: "session_id=-1" i splitting @ least 1 comma, followed arbitrary white space followed "arg_" delimiter, there way keep "arg_" portion intact, i.e. indicies [1-6]?
use positive lookahead (to check presence of, not consume, leaving in split chunks) instead of atomic group (that still consumed, , removed when using split):
,+\s*(?=arg_) see regex demo
note not need put comma character class, nor need escape comma.
also, {1}? = {1} , totally redundant (you may remove since {1} implied (i.e. abc = a{1}b{1}c{1})).

Comments
Post a Comment