Suppression des sauts de ligne à l'aide de C #
Je reçois une chaîne de champ de base de données nommé "Description" et il a des sauts de ligne. Il ressemble à ceci:
En-tête des Articles
Description ici.Ce que la description des articles.
Comment puis-je supprimer les sauts de ligne. J'ai essayé de suivre la fonction, mais Il ne fonctionne pas:
public string FormatComments(string comments)
{
string result = comments.Replace(@"\r\n\", "");
result = result.Replace(" ", "");
return result;
}
S'il vous plaît suggérer une solution.
Ce qui concerne,
Asif Hameed
source d'informationauteur DotnetSparrow
Vous devez vous connecter pour publier un commentaire.
La principale raison est que vous utilisez un verbatim chaîne de caractères littérale (préface,
@
) et se terminant avec un littéral\
. Le résultat est queReplace
finira par remplacer la séquence de caractères\
r
\
n
,\
plutôt que d'une nouvelle ligne.Cela devrait corriger le problème:
Mais plus idiomatique (et portable) serait:
(EDIT: bien sûr, Cela suppose que les systèmes d'écriture de la DB utiliser la même nouvelle ligne de conventions que les systèmes de lecture ou que les traductions se passer de manière transparente. Si ce n'est pas le cas, bien entendu, vous feriez mieux d'utiliser le caractère réel de la séquence que vous souhaitez utiliser pour représenter une nouvelle ligne.)
Par le façon, il semble que vous essayez de vous débarrasser de tous des espaces blancs.
Dans ce cas, vous pourriez faire :
Avez-vous essayé d'utiliser les expressions régulières?
Ils sont assez bon dans le maniement de ce type de tâches
Votre problème est le symbole@. Il n'est pas nécessaire dans ce cas.
Vous voulez
Pour l'élimination de toutes les retours à la ligne, quel que soit l'environnement ou mal formé des chaînes, je pense que c'est l'option la plus simple:
utiliser ce code pour les remplacer par de nouveaux ligne
myString = myString.Remplacer(Le Système.De l'environnement.De retour à la ligne, "texte de remplacement");