でarray.split I次の文字列を持っている:javascriptの - 先読み
'(POINT (10 5),POINT EMPTY,LINESTRING (5 6, 15 17, 8 9),LINESTRING EMPTY,POLYGON ((55 1, 7 6, 90 99, 33 5, 55 1), (55 1, 7 6, 90 99, 33 5, 55 1)),POLYGON ((55 1, 7 6, 90 99, 33 5, 55 1)),POLYGON EMPTY,MULTIPOINT (55 1, 7 6, 90 99, 33 5, 55 1),MULTIPOINT EMPTY,MULTILINESTRING ((5 6, 15 17, 8 9), (5 6, 15 17, 8 9), (5 6, 15 17, 8 9)),MULTILINESTRING EMPTY,MULTIPOLYGON (((55 1, 7 6, 90 99, 33 5, 55 1)),, ((55 1, 7 6, 90 99, 33 5, 55 1), (55 1, 7 6, 90 99, 33 5, 55 1))),MULTIPOLYGON EMPTY)',
私は文字列の配列にこれを分割したい、とセパレータは),[A-Z]
をする必要があります。 (so ),
の後ろに大文字)
しかし、私もセパレータを失いたくはありません。
この質問を見た後:JavaScript Split without losing character
は、私が試した:
let string = '(POINT (10 5),POINT EMPTY,LINESTRING (5 6, 15 17, 8 9),LINESTRING EMPTY,POLYGON ((55 1, 7 6, 90 99, 33 5, 55 1), (55 1, 7 6, 90 99, 33 5, 55 1)),POLYGON ((55 1, 7 6, 90 99, 33 5, 55 1)),POLYGON EMPTY,MULTIPOINT (55 1, 7 6, 90 99, 33 5, 55 1),MULTIPOINT EMPTY,MULTILINESTRING ((5 6, 15 17, 8 9), (5 6, 15 17, 8 9), (5 6, 15 17, 8 9)),MULTILINESTRING EMPTY,MULTIPOLYGON (((55 1, 7 6, 90 99, 33 5, 55 1)),, ((55 1, 7 6, 90 99, 33 5, 55 1), (55 1, 7 6, 90 99, 33 5, 55 1))),MULTIPOLYGON EMPTY)'
let stringArray = string.split(/(?=\),[A-Z]\)/);
しかし、これは動作しません。私は間違って何をしていますか?正規表現ですか?
所望の出力は次のようになります、それを解決する方法の方法
['(POINT (10 5)',
'POINT EMPTY',
'POLYGON ((55 1, 7 6, 90 99, 33 5, 55 1), (55 1, 7 6, 90 99, 33 5, 55 1))',
'MULTIPOINT (55 1, 7 6, 90 99, 33 5, 55 1)',
'MULTIPOINT EMPTY',
...
]
あなたの質問に所望の出力を入力してください。 – gabry
@gabry sry、質問 –