Поскольку заголовок подразумевает, что я пытаюсь извлечь определенную строку чисел из richtextbox и затем поместить это в отдельное текстовое поле. Я попробовал этот код ниже, но он не хочет работать со мной. Возможно, это неправильно, и, возможно, есть более простые способы сделать это, но я новичок в этом, и я был бы признателен за любую помощь, которую я могу получить в этом вопросе.
У меня есть текстовое поле с именем tbPersNr;
RichTextBox с именем tbText;
Кнопка, которая называется btnGet;
string regPattern = @"\\d{6}-\\d{4}";
int indexOfSearch = 0;
private void btnGet_Click(object sender, EventArgs e)
{
int startIndex = 0;
if (tbText.Text.Length > 0)
{
startIndex = HittaPersNr(regPattern, startIndex, tbText.Text.Length);
}
if (startIndex > 0)
{
this.tbPersNr.Text = regPattern.ToString();
}
}
public int HittaPersNr(string txtToSearch, int searchStart, int searchEnd)
{
// Setting default value to -1.
int retVal = -1;
// Validating start of the search
// om indexOfSearch = -1, slutar sökningen
if (searchStart >= 0 && indexOfSearch >= 0)
{
// Validating end of search
if (searchEnd > searchStart || searchEnd == -1)
{
// Searching for results in richtextbox
indexOfSearch = tbText.Find(regPattern, searchStart, searchEnd, RichTextBoxFinds.None);
// Validating if search resulted in any finds.
if (indexOfSearch != -1)
{
// putting index to value in the text.
retVal = indexOfSearch;
}
}
}
return retVal;
}
UPDATE
Приветствую за все полезные ответы ,, и извините за то, что выразил себя довольно неуклюже. Но я ожидал, что я был не на том пути, и я постараюсь исправить свое приложение с некоторыми ответами. Welbog ,, хорошая детективная работа там ,,, хехехе ,,, хорошо, что вы поняли, что я имел в виду. Спасибо всем, кто указал, как правильно написать регулярное выражение, весьма запутанно.
Самый замечательный
Simon