public GStringList Split(GString f, SplitOption splitop, CaseOption caseop) { GStringList vect = new GStringList(); if (this.Find(f, caseop) == -1) { vect.PushBack(this); return(vect); } int pos = 0, pos1 = 0, pos2 = 0; while (true) { pos1 = pos; pos = this.Find(f, pos, caseop); if (pos == -1) { break; } pos2 = pos; GString ne = this.Substr(pos1, pos2); if ((splitop == GString.SplitOption.SKIP_EMPTY_PARTS && ne.Size != 0) || splitop == G.GString.SplitOption.KEEP_EMPTY_PARTS) { vect.PushBack(ne); } pos += f.Size; } if (pos1 != 0) { GString ne = new GString(this.Substr(pos1, this.Size)); if ((splitop == G.GString.SplitOption.SKIP_EMPTY_PARTS && ne.Size != 0) || splitop == G.GString.SplitOption.KEEP_EMPTY_PARTS) { vect.PushBack(ne); } } return(vect); }
public GStringList Split(GString f, SplitOption splitop , CaseOption caseop) { GStringList vect = new GStringList(); if (this.Find(f, caseop) == -1) { vect.PushBack(this); return (vect); } int pos = 0, pos1 = 0, pos2 = 0; while (true) { pos1 = pos; pos = this.Find(f, pos, caseop); if (pos == -1) break; pos2 = pos; GString ne = this.Substr(pos1, pos2); if ((splitop == GString.SplitOption.SKIP_EMPTY_PARTS && ne.Size != 0) || splitop == G.GString.SplitOption.KEEP_EMPTY_PARTS) vect.PushBack(ne); pos += f.Size; } if (pos1 != 0) { GString ne = new GString (this.Substr(pos1, this.Size)); if ((splitop == G.GString.SplitOption.SKIP_EMPTY_PARTS && ne.Size != 0) || splitop == G.GString.SplitOption.KEEP_EMPTY_PARTS) vect.PushBack(ne); } return (vect); }