2010-05-15 6 views
0

J'essaie de convertir une chaîne de texte enrichi en texte brut ou en HTML. J'utilise actuellement la fonctionnalité RichTextBox.Text qui fonctionne correctement dans presque tous les cas sauf lorsque le texte contient des barres obliques inverses, puis une partie du texte est supprimée car le convertisseur pense que cela fait partie du formatage rtf. Quelqu'un at-il des idées sur la façon d'obtenir les barres obliques inverses pour rester dans ce cas. Voici un exemple d'une chaîne que j'auraisConversion d'un texte riche contenant des barres obliques inverses en texte brut ou html

{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Arial;}}\viewkind4\uc1\pard\fs17 Testing Export \with comments\par} 

Le texte que je aurais besoin serait « Test d'exportation \ avec des commentaires » et le texte je reviens du convertisseur de rtf est « commentaires Test d'exportation ». Toute aide serait grandement appréciée. Veuillez répondre si vous avez d'autres questions.

+0

Quelle langue utilisez-vous? il devrait être échappé à '\\\' et c'est ce que je vois avec le composant .net/vb6 Richedit. –

Répondre

0

Je pense que le convertisseur est bon. Un backslash réel dans le texte dans RTF doit être échappé (par exemple à \\). Ce que vous avez reçu est, je crois, pas du tout RTF valide.

Whist vous pouvez essayer le fixer par faire une regex remplacer sur l'entrée Doublez les antislashs qui ne faisaient pas partie de valid control words, cela semble très fragile et va mal tourner si quelqu'un ajoute une séquence au texte qui est un mot de contrôle valide. La seule façon d'être sûr serait de réparer tout ce qui est en train de produire le RTF pour éviter les backslashes correctement.

+0

C'est ce dont j'avais peur. Malheureusement, je ne peux pas corriger ce qui crée les données car il s'agit de toutes les anciennes données héritées que nous essayons de convertir. Merci pour l'aide. – Allison

Questions connexes