A capo in una text box

giovedì 22 marzo 2007 - 13.09

SundayProgrammer Profilo | Newbie

Ciao, quando si copia testo da un .pdf e lo si riporta in un documento, capita di avere un sacco di caratteri di "a capo" farlocchi (che non seguono un punto), da dover togliere. Voleva scrivere una semplice applicazione che faccia, in automatico, questo compito. L'idea è di "marcare" i ritorni a capo buoni (quelli che seguono un punto) e di togliere gli altri.

Ho provato con i seguenti pezzi di codice ma non funziona (la stringa di input mi rimane invariata nell'output).
La stringa di input, giusto per provare, è:

mimi
coco
cacamuca

Mi dareste una mano? Chiedo perdono se è banale o se per questo problema esiste già soluzione sul forum.

Ciao



'PROVA SOSTITUZIONE CARATTERE vbCrLf
Replace(TestoInput, "." & vbCrLf, "cucù")
Replace(TestoInput, vbCrLf, "")
Replace(TestoInput, "cucù", "." & vbCrLf)

'PROVA SOSTITUZIONE CARATTERE chr(13)
Replace(TestoInput, "." & Chr(13), "cucù")
Replace(TestoInput, Chr(13), "")
Replace(TestoInput, "cucù", "." & Chr(13))

'PROVA SOSTITUZIONE STRINGA 'chr(13) & Chr(10)'
Replace(TestoInput, "." & Chr(13) & Chr(10), "cucù")
Replace(TestoInput, Chr(13) & Chr(10), "")
Replace(TestoInput, "cucù", "." & Chr(13) & Chr(10))

PROVA SOSTITUZIONE CARATTERE 'Chr(10)'
Replace(TestoInput, "." & Chr(10), "cucù")
Replace(TestoInput, Chr(10), "")
Replace(TestoInput, "cucù", "." & Chr(10))

PROVA SOSTITUZIONE CARATTERE 'vbNewline'
Replace(TestoInput, "." & vbNewLine, "cucù")
Replace(TestoInput, vbNewLine, "")
Replace(TestoInput, "cucù", "." & vbNewLine)

Brainkiller Profilo | Guru

Ciao,
il codice che hai postato mi sembra corretto, faccio così anche io.
L'unica cosa sono il 2° e il 3° frammento sono una ripetizione del primo.
La costanate:

VbCrLf corrisponde = a un Chr(10)+Chr(13)
Ciao


David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

SundayProgrammer Profilo | Newbie

ciao, non so perchè ma con la funzione "replace" non funziona, in ogni caso riproverò. Nel frattempo mi sono dovuto fare la mia custom:

--------------------------------------
i = InStr(TestoInput, "." & vbCrLf)
While i > 0
TestoOutput = TestoInput.Substring(0, i - 1)
'N.B. per la funzione substring le stringhe partono da 0, per instr da 1!!!
TestoOutput = TestoOutput & "xvxv" & TestoInput.Substring(i + 2, Lunghezza - (i + 2))
Lunghezza = Len(TestoOutput)
i = InStr(TestoOutput, "." & vbCrLf)
TestoInput = TestoOutput

End While
--------------------------------------

grazie mille della risposta
ciao
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5