2014-11-20 2 views
-1

У меня есть небольшая проблема. Я пытаюсь найти & заменить мои элементы списка. Мой код работает хорошо, но если я снова запустил свой код, я получил «дубликаты».VB.net - Listbox find & replace once

Пример: что-то: [пробел] Я снова нажимаю кнопку. Мой код снова запускается. И я получаю: что-то: [пробел]: [пробел]

Не хочу. Просто замените один раз и все.

For i = 0 To ListBox2.Items.Count - 1 
      If ListBox2.Items(i).ToString.Contains("something") Then 
       ListBox2.Items(i) = ListBox2.Items(i).ToString.Replace("something", "something: ") 
      End If 

     Next 

Спасибо!

+0

изменить ваш IF для проверки '.Contains ("что-то")' ', но не .Contains ("что-то:")' – Plutonix

+0

Здравствуйте! Но я хочу «:», поэтому для меня это не вариант. – sandor

+0

, если он содержит «что-то»: это означает, что ваш код уже обработал этот элемент, нет? – Plutonix

ответ

0

Если вы только проверяете «что-то», он всегда будет добавлять двоеточие на его конце, если вы также не проверите «что-то».

For i = 0 To ListBox2.Items.Count - 1 
     If ListBox2.Items(i).ToString.Contains("something") AndAlso Not ListBox2.Items(i).ToString.Contains("something:") Then 
      ListBox2.Items(i) = ListBox2.Items(i).ToString.Replace("something", "something: ") 
     End If 
    Next