Я делаю крошечную программу, которая должна принимать URL-адрес, который подается в текстовое поле (textBox2), , а затем позволяет пользователю добавлять определенное имя или идентификатор, который они ищут URL в другой texbox (textBox1), , то, наконец, программа должна пройти через URL-адрес, выбрать часть URL-адреса между идентификатором и «&» и скопировать его в буфер обмена.Выбор текста в строке
Это код (я положил его внутри кнопки в случае, если вы задаетесь вопросом):
string url = textBox2.Text + "&";
int startPos = url.LastIndexOf(textBox1.Text) + textBox1.Text.Length + 1;
int length = url.IndexOf("&");
string sub = url.Substring(startPos, length);
Clipboard.SetText(sub);
Так сказать, я получил URL: http://www.somesite.com/John=1849282&Steve=19847274&Lenny=1234567&Craig=1432659 Тогда я набираемый в textBox1 «Steve», и поместите весь этот URL в textBox2, затем, когда я нажимаю кнопку, он должен скопировать это содержимое в буфер обмена: «19847274»
Я понял, что у него могут быть проблемы с содержанием Крейга, потому что нет «&» в конце этого, так что я сделал это новое tring, называемый «url», чтобы попытаться пройти мимо этого на данный момент.
Но когда я печатаю в Иоанна это дает мне это: 1849282 & Steve = 19847274 & Ленни = 1234567
И когда я печатаю Steve это дает мне это: 19847274 & Ленни = 1234567 & Craig = 1432659
и когда я набираю в Lenny или Craig программа перестает работать и замерзает, жалуется на это:
индекс и длина должны относиться к местоположению в пределах строки.
Имя параметра: длина
Так проблема nr.1 в том, что она копирует сверх того, что он должен, и проблема в том, что nr.2 он не добавляет, что & после содержания Крейга. Любые предложения или идеи о том, как исправить это? Или что я сделал неправильно? Есть ли лучший способ сделать это? Все советы приветствуются.
Может 'Split' на имя, а затем пропустить 1 символ, чтобы получить начало числа. В этом случае вы либо заканчиваетесь на '&', либо EOS. – DonBoitnott
О, хорошо, не знал этого. Спасибо, что сказал мне. =) – user1770094
Вы проверили 'string.Replace'? –