9
votes

Supprimer des nombres du texte en utilisant c #

J'ai un fichier texte pour traitement, qui a des chiffres. Je veux juste envoyer un texto, et rien d'autre. J'ai réussi à supprimer les marques de ponctuation, mais comment puis-je supprimer les chiffres? Je veux cela en utilisant C # Code.

En outre, je veux supprimer les mots de longueur supérieure à 10. Comment puis-je faire cela en utilisant des expressions de REG?


3 commentaires

Que ressemble au fichier (exemple entrée / sortie ???), et où est le code que vous devez supprimer la ponctuation?


Pourriez-vous fournir des exemples de données dans votre dossier?


Peut-être que vous pouvez montrer au code de manière à ce que la communauté puisse voir ce que vous avez essayé?


4 Réponses :


30
votes

Vous pouvez le faire avec une regex: xxx

Utilisez cette regex pour supprimer des mots avec plus de 10 caractères: xxx

100 Définit la longueur maximale pour correspondre. Je ne sais pas s'il y a un quantifier pendant la longueur min ...


2 commentaires

C'est comme ça que je le ferais aussi. Prachi - rappelez-vous l'utilisation supplémentaire en utilisant la directive sur system.text.regularexpressions si vous ne l'avez pas déjà!


De plus, je veux supprimer les mots avec une longueur supérieure à 10. Comment puis-je faire cela utilisant des expressions de REG?



3
votes

Seulement des lettres et rien d'autre (parce que je vois que vous souhaitez également supprimer les marques de ponctuation)

regex.Amatch (entrée, @ "^ [a-za-z] + $");


0 commentaires

1
votes

Vous pouvez également utiliser string.join: xxx


0 commentaires

1
votes

the La méthode de Regex.replace devrait faire le tour.

// regex to match any digit
var regex = new Regex("\d");                     
// replace all matches in input with empty string
var output = regex.Replace(input, String.Empty);


0 commentaires