none
Problème CrLf dans string RRS feed

  • Question

  • Bonjour,

    Je dois doublez des CrLf dans un string pour l'affichage sur écran.

    Le problème, c'est que la plupart des fonctions, le CrLf est invisible.

    Voici les quelques tests que j'ai effectués :

                Dim em3 As String = Regex.Replace(_emission.Pdescription, "\r\n", "titi")
                Dim em4 As String = _emission.Pdescription.Replace(ControlChars.NewLine, "titi")
                Dim em5 As String = _emission.Pdescription.Replace(Chr(13) & Chr(10), "titi")
                Dim em8 As String = _emission.Pdescription.Replace(vbCrLf, "titi")
                Dim em9 As String = _emission.Pdescription.Replace(Environment.NewLine, "titi")
                Dim em10 As String = _emission.Pdescription.Replace(vbNewLine, "titi")
                Dim em11 As String = _emission.Pdescription.Replace(ChrW(13) & ChrW(10), "titi")
    
                Dim sb As New StringBuilder(_emission.Pdescription)
                sb.Replace(ControlChars.NewLine, "titi")
                Dim em12 As String = sb.ToString

    n'ont aucun effet sur la chaine de caractères.

    De même, les méthodes .Split, .IndexOf, .Contains ne voient pas les CrLf.

    Les vérification ont été faites visuellement dans un label et sur Notepad++ avec l'affichage de tous les caractères

    Comment, puis-je faire ???

    Environnement : Windows 7 x32, Visual Studio Ultimate 2012, FW 4.5.2, AnyCPU

    Cordialement,

    Hervé.


    • Modifié rvs7557 mercredi 6 mai 2015 10:01
    mercredi 6 mai 2015 10:00

Réponses

  • Je me répond.

    Le String qui venait de la base ne contient pas CrLf mais seulement Lf.

    A l'affichage dans control (label,...) et dans le visualiseur de texte de VS en débogage, le Lf est transformé en CrLf par le .net, ce qui rend le contrôle visuel impossible. Il a fallu que je fasse un bout de code pour voir qu'il n'y avait de 13 mais seulement des 10.

    • Marqué comme réponse rvs7557 mercredi 6 mai 2015 15:13
    mercredi 6 mai 2015 15:13

Toutes les réponses

  • Bonjour,

    Et si on utilise la constante  vbCrLf ??


    Jacques
    Si la réponse vous satisfait, n'oubliez pas de la proposer comme réponse. Merci

    mercredi 6 mai 2015 11:05
  • Testé avec les constantes vbCrLf, vbNewLine, ControlChars.CrLf, ControlChars.NewLine, Environment.NewLine, Chr(13) & Chr(10), ChrW(13) & ChrW(10)

    Testé avec les fonctions Replace  de Regex, String et StringBuilder.

    mercredi 6 mai 2015 11:16
  • Je me répond.

    Le String qui venait de la base ne contient pas CrLf mais seulement Lf.

    A l'affichage dans control (label,...) et dans le visualiseur de texte de VS en débogage, le Lf est transformé en CrLf par le .net, ce qui rend le contrôle visuel impossible. Il a fallu que je fasse un bout de code pour voir qu'il n'y avait de 13 mais seulement des 10.

    • Marqué comme réponse rvs7557 mercredi 6 mai 2015 15:13
    mercredi 6 mai 2015 15:13