0
votes

Comment puis-je empêcher les apostrophes d'être dépouillé uniquement de l'au milieu des cordes?

J'ai besoin de préserver les mots avec des caractères alphanumériques, des hypens et des apostrophes. J'ai tout sauf des apostrophes à l'heure actuelle. L'apostrophe dans des mots comme n'avait pas, et ne pas être dépouillé à l'aide de ce code: xxx

J'ai besoin de préserver des apostrophes, mais seulement quand ils sont dans un mot . A déclaré un peu différemment, les apostrophes à la fin d'un mot doivent être coupés, et aussi au début (quand il s'agit d'une citation unique); mais Apostrophes dans un mot - en d'autres termes, ceux qui indiquent des contractions, telles que "n'avaient pas" - devraient être préservées.

Que dois-je ajouter à la Regex ou comment dois-je modifier cela pour accomplir cela?


3 commentaires

Pouvez-vous s'il vous plaît fournir l'entrée et la sortie attendues


Ceci aide?


@Viveknuna: Exemples d'entrée attendus: Sortie attendue de Shannons n'a pas Shannons: N'a pas Shannons


3 Réponses :


2
votes

Je suis un peu confus par votre nom de variable sublines code> (implique des lignes de texte) en cours de création par Split () code> - Paramètre Split Split Split sur WhitSpace. Les sublines contiennent donc-elles des mots ou des lignes? Je pense que malgré le nom, il contient des mots, vous pouvez donc modifier votre regex à:

[^a-zA-Z0-9 '-]


1 commentaires

Bon point sur la confusion de dénomination. Je vais le changer. Merci1



0
votes

mise à jour - après avoir réaffecté la question, il est devenu apparent
Il n'y a pas besoin de tous les scissions et de couper quand tout
Peut être fait à l'aide d'une seule regex qui correspond exactement à ce qui est nécessaire.

(?: (?! [^ A-ZA-Z0-9 '-] + | <<

voir https://regex101.com/r/fktq8v/1

C # code exemple: xxx

sortie: xxx


0 commentaires

1
votes

Les éléments suivants peuvent supprimer Apostrophe comme vous avez besoin -

System.Text.RegularExpressions.Regex.Replace("'this isn't a' test'", "'(?=(\\s+|$))|(?<=(\\s+|^))'", "")


0 commentaires