Usuário com melhor resposta
localizar uma palavra em textbox e apagar

Pergunta
-
Visual basic express 2010
Gostaria de localizar uma palavra em textbox e apagar a palavra localizada e tudo o que tiver a frente dela.
Exemplo:
No Multi text box:
Nome:Joao GomesData de nasc.: 18/05/2010
Nome:Paulo CoelhoData de nasc.: 14/01/2007
Nome:Leticia MantesData de nasc.: 08/09/2003
No campo para digitar:
Data de nasc
Então deveria ficar assim no Multi text box:
Nome:Joao Gomes
Nome:Paulo Coelho
Nome:Leticia Mantes
Alguem poderia ajudar?
utilizei o System.Text.RegularExpressions.Regex.Replace, mas nesse caso não serve porque ele subtitui somente a palavra pesquisada e eu preciso da substituir ou apagar a palavra pesquisada e o que tem na frente dessa palavra
Respostas
-
Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load TxtPesquisa.Text = "Data de nasc" TxtTexto.Text = _ "Nome:Joao GomesData de nasc.: 18/05/2010" + System.Environment.NewLine + _ "Nome:Paulo CoelhoData de nasc.: 14/01/2007" + System.Environment.NewLine + _ "Nome:Leticia MantesData de nasc.: 08/09/2003" End Sub Private Sub ButPesquisa_Click(sender As Object, e As EventArgs) Handles ButPesquisa.Click Dim Linhas = TxtTexto.Text.Split(System.Environment.NewLine) TxtTexto.Text = String.Empty For Each Linha As String In Linhas Dim Inicio As Integer = Linha.IndexOf(TxtPesquisa.Text) If (Inicio <> -1) Then Linha = Linha.Replace(Linha.Substring(Inicio), "") TxtTexto.Text += Linha + System.Environment.NewLine Else TxtTexto.Text += Linha + System.Environment.NewLine End If Next End Sub End Class
Eu acredito que isso resolva, eu teste eu funcionou certinho!!!
- Marcado como Resposta gelson_ventura quarta-feira, 1 de janeiro de 2014 00:42
-
Então ao escrever
Dim Linhas = TxtTexto.Text.Split(System.Environment.NewLine)
Troque por
Dim Linhas = TxtTexto.Line()
Finalizando:
Private Sub ButPesquisa_Click(sender As Object, e As EventArgs) Handles ButPesquisa.Click Dim Linhas = RTxtTexto.Lines() RTxtTexto.Text = String.Empty For Each Linha As String In Linhas Dim Inicio As Integer = Linha.IndexOf(TxtPesquisa.Text) If (Inicio <> -1) Then Linha = Linha.Replace(Linha.Substring(Inicio), "") RTxtTexto.Text += Linha + System.Environment.NewLine Else RTxtTexto.Text += Linha + System.Environment.NewLine End If Next End Sub
- Marcado como Resposta Giovani Cr quinta-feira, 26 de dezembro de 2013 10:02
-
- Marcado como Resposta Giovani Cr quinta-feira, 26 de dezembro de 2013 10:02
Todas as Respostas
-
Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load TxtPesquisa.Text = "Data de nasc" TxtTexto.Text = _ "Nome:Joao GomesData de nasc.: 18/05/2010" + System.Environment.NewLine + _ "Nome:Paulo CoelhoData de nasc.: 14/01/2007" + System.Environment.NewLine + _ "Nome:Leticia MantesData de nasc.: 08/09/2003" End Sub Private Sub ButPesquisa_Click(sender As Object, e As EventArgs) Handles ButPesquisa.Click Dim Linhas = TxtTexto.Text.Split(System.Environment.NewLine) TxtTexto.Text = String.Empty For Each Linha As String In Linhas Dim Inicio As Integer = Linha.IndexOf(TxtPesquisa.Text) If (Inicio <> -1) Then Linha = Linha.Replace(Linha.Substring(Inicio), "") TxtTexto.Text += Linha + System.Environment.NewLine Else TxtTexto.Text += Linha + System.Environment.NewLine End If Next End Sub End Class
Eu acredito que isso resolva, eu teste eu funcionou certinho!!!
- Marcado como Resposta gelson_ventura quarta-feira, 1 de janeiro de 2014 00:42
-
Ola Fúlvio Cezar,
Peço desculpas, errei em um detalhe. A quantidade de caracteres é extremamente grande logo, preciso usar um RichTextBox.
Mas quando tentei usar o seu exemplo não consegui porque no RichTextBox ele apaga tudo (até as linhas de baixo)
Eis o código
Imports Excel = Microsoft.Office.Interop.Excel Public Class Form1 '1° PROBLEMA ' Separa Data de nascimento do nome referente a consulta a menor '2° PROBLEMA 'NÃO PODE CONTER VALORES NULOS DA PLANILHA (fazer via código) '3° PROBLEMA 'Colocar um file para o usuário escolher a planilha que deseja importar '4° PROBLEMA 'COLOCAR NO DATAGRID OS RESULTADOS '5° PROBLEMA 'converter para txt Private Sub btnListBox_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnListBox.Click Dim objXLApp As Excel.Application Dim intLoopCounter As Integer Dim objXLWb As Excel.Workbook Dim objXLWs As Excel.Worksheet Dim objRange As Excel.Range objXLApp = New Excel.Application objXLApp.Workbooks.Open("c:\Planilha.xls") objXLWb = objXLApp.Workbooks(1) objXLWs = objXLWb.Worksheets(1) For intLoopCounter = 2 To CInt(objXLWs.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Row) - 1 '"A" é a coluna da planilha objRange = objXLWs.Range("AV" & intLoopCounter) 'ListBox1.Items.Add(objRange.Value) RichTextBox1.Text = RichTextBox1.Text + objRange.Value + System.Environment.NewLine Next intLoopCounter objXLApp.Quit() apagarData() End Sub Private Sub apagarData() Dim Linhas = RichTextBox1.Text.Split(System.Environment.NewLine) RichTextBox2.Text = String.Empty For Each Linha As String In Linhas Dim Inicio As Integer = Linha.IndexOf(TextBox1.Text) If (Inicio <> -1) Then Linha = Linha.Replace(Linha.Substring(Inicio), "") RichTextBox2.Text += Linha + System.Environment.NewLine Else RichTextBox2.Text += Linha + System.Environment.NewLine End If Next End Sub End Class
- Marcado como Resposta gelson_ventura quarta-feira, 1 de janeiro de 2014 00:41
- Não Marcado como Resposta gelson_ventura quarta-feira, 1 de janeiro de 2014 00:42
-
-
Então ao escrever
Dim Linhas = TxtTexto.Text.Split(System.Environment.NewLine)
Troque por
Dim Linhas = TxtTexto.Line()
Finalizando:
Private Sub ButPesquisa_Click(sender As Object, e As EventArgs) Handles ButPesquisa.Click Dim Linhas = RTxtTexto.Lines() RTxtTexto.Text = String.Empty For Each Linha As String In Linhas Dim Inicio As Integer = Linha.IndexOf(TxtPesquisa.Text) If (Inicio <> -1) Then Linha = Linha.Replace(Linha.Substring(Inicio), "") RTxtTexto.Text += Linha + System.Environment.NewLine Else RTxtTexto.Text += Linha + System.Environment.NewLine End If Next End Sub
- Marcado como Resposta Giovani Cr quinta-feira, 26 de dezembro de 2013 10:02
-
Fúlvio muito obrigado pela ajuda conseguir resolver.
Tenho uma outra situação semelhante, a única diferença é que eu preciso retirar os dados Data de nasc.: dd/mm/aaaa e colocar em outra textbox.
Textbox
Nome:Joao GomesData de nasc.: 18/05/2010
Nome:Paulo CoelhoData de nasc.: 14/01/2007
Nome:Leticia MantesData de nasc.: 08/09/2003
Textbox de data de nascimento
Data de nasc.: 18/05/2010
Data de nasc.: 14/01/2007
Data de nasc.: 08/09/2003
Poderia da essa última força
-
- Marcado como Resposta Giovani Cr quinta-feira, 26 de dezembro de 2013 10:02
-