Je suis en train de remplacer tous les caractères de retour chariot dans une chaîne obtenue à partir d'une zone de texte de plusieurs lignes dans un Windows Form avec la chaîne ", <BR>"
de sorte que lorsque je utiliser la chaîne dans du code HTML, il s'affiche correctement.VB.NET: Expression régulière nécessaire pour remplacer le caractère de retour avec une autre chaîne
Function Blah(ByVal strInput As String) As String
Dim rexCR As Object
rexCR = CreateObject("VBScript.RegExp")
rexCR.Pattern = "\r"
rexCR.Global = True
Blah = rexCR.Replace(strInput, ",<BR>")
End Function
Essayé la recherche de l'un des caractères suivants et toujours pas de chance:
\r|\n|\r\c|\cM|\x0d
problème semble être la fonction/expression ne détecte pas les retours chariot dans le texte et je ne sais pas pourquoi ? Je sais que la fonction fonctionne comme je peux mettre une expression différente là-dedans comme un test et c'est OK
Des idées?
pourquoi avez-vous besoin d'une expression rationnelle pour une recherche simple et remplacer? –
Je n'ai pas besoin de ça en tant que tel. Je venais de faire quelques autres regex ailleurs et je travaillais juste sur un copier coller, puis je voulais obstinément comprendre pourquoi ça ne fonctionnait pas. Cependant, je viens d'essayer les deux exemples ci-dessous de S.Mark et ck et aucun d'eux ne fonctionne pour moi non plus. Y a-t-il quelque chose de différent sur la façon dont une boîte de texte multiligne stocke son texte en ce qui concerne les CR? – 9cents
Pour votre information: Dans le cas où quelqu'un vient d'autre sur cette question, je l'ai trouvé qu'il est possible d'obtenir VB.NET regexs à accepter \ r \ n et d'autres se sont échappés des caractères si vous utilisez VS2008 (peut-être possible dans d'autres, ce est juste ce que j'utilise). Accédez aux propriétés de vos projets et sur l'onglet de référence, cochez la case en regard de System.Text.RegularExpressions dans la section Imported namespaces. – 9cents