В C #, аз се опитвам да разделите следния низ
(hello)(world)(hello)(world)
в масив от следния формат
arr[0] = (
arr[1] = hello
arr[2] = )
arr[3] = (
arr[4] = world
arr[5] = )
arr[6] = (
arr[7] = hello
arr[8] = )
arr[9] = (
arr[10] = world
arr[11] = )
Понастоящем използвам следния израз на регекс за изпълнение на разделянето и изглежда, че е бавен
Regex.Split(value1, @"(?<=))|(?=))|(?=()|(?<=()")
Аз не съм експерт с регекс, но имам чувството, че може да има и друг регекс израз, който да осигурява същата функционалност по ефективен начин.
Чудите се дали има по-добри начини (по-ефективни регекс изрази) за изпълнение на същото разделяне в c #?
Отговори:
1 за отговор № 1Вместо това бихте могли да опитате да съберете тези символи:
Regex.Matches(value1, @"[()]|[^()]+")
Тук моделът [()]|[^()]+
съвпада с една (
или )
, или поредица от знаци освен (
и )
.