ПРИМЕЧАНИЕ: я задал тот же вопрос вопрос здесь, но, поскольку некоторые люди пометили его как дубликат, хотя у него были хитрые, изящные решения, мне пришлось создать этот дополнительный (дублированный) вопрос, чтобы упростить его. для тех, кто сталкивается с подобными сомнениями. Добавлен вопрос, основанный на предложении других участников переполнения стека.
Каков эффективный способ анализа большой строки с разделителями, чтобы я мог получить доступ только к одному элементу из набора с разделителями без необходимости сохранять другие задействованные подстроки?
Меня особенно не интересует сохранение остальных значений элементов, как это делается при использовании метода Split(), поскольку вся эта информация не имеет отношения к рассматриваемой проблеме. Кроме того, я хочу сэкономить память, делая то же самое.
Постановка задачи.
Учитывая точную позицию с разделителями, мне нужно извлечь элемент, содержащийся в этой позиции, наиболее эффективным способом с точки зрения потребляемой памяти и времени.
Простой пример строки: "1,2,3,4,....,21,22,23,24"
Разделитель: ,
Позиция с разделителем: 22
Ответ ожидается: 23
Другой пример строки: "61d2e3f6-bcb7-4cd1-a81e-4f8f497f0da2;0;192.100.0.102:4362;2014-02-14;283;0;354;23;0;;;"" 0x8D15A2913C934DE"";Четверг, 19 июня 2014 г., 22:58:10 GMT;"
Разделитель: ;
Позиция с разделителями: 7
Ожидаемый ответ: 23
split()
отнимает много времени/памяти? если это так, вам следует отредактировать свой вопрос и добавить сравнения времени/памяти, используя разные способы, которые вы пробовали. например, если вы использовали регулярное выражение, добавьте выражение регулярного выражения и используемое время/память, добавьтеsplit()
, которое вы использовали, а также используемое время/память. Эта задача очень требовательна в вашем приложении? - person Mauricio Arias Olave   schedule 19.01.2019