5
Voglio abbinare (in questo frammento) tutto fino a ma non includendo una nuova riga che è quello che ho pensato a. farebbe. Qualcuno potrebbe far luce su ciò che mi manca, per favore.vba regex: punto corrispondente newline
Public Sub regexp()
Dim oRegExp As regexp
Dim oMatches As MatchCollection
Dim oMatch As Match
Dim sString As String
sString = _
"one" & vbNewLine & _
"two" & vbNewLine
Set oRegExp = New regexp
With oRegExp
.Global = True
.Pattern = ".+"
Set oMatches = .Execute(sString)
For Each oMatch In oMatches
Debug.Print "*" & oMatch.Value & "*"
Next oMatch
End With
End Sub
uscita è
*one
*
*two
*
Previsto in uscita
*one*
*two*
Come posso evitare il ritorno a capo in uscita? Grazie.
Purtroppo, questo mi dà lo stesso risultato. – wfsp
Prova '[^ \ n \ r]' invece - La [documentazione] (http://msdn.microsoft.com/en-us/library/microsoft.visualbasic.constants.vbnewline.aspx) suggerisce che 'vbNewLine' è solo un carattere di nuova riga, ma ho un vago ricordo in realtà è la sequenza di caratteri di nuova riga specifica del sistema, che include un ritorno a capo su Windows. – eggyal
Ecco, grazie mille. Il caso reale era un file di testo e anche la tua soluzione funziona bene. Di nuovo, grazie. – wfsp