Comment couper une chaine trop longue avec un séparateur (regex) ?

cs_fabiano13 Messages postés 262 Date d'inscription mardi 26 février 2002 Statut Membre Dernière intervention 27 février 2012 - 11 avril 2011 à 12:18
cs_fabiano13 Messages postés 262 Date d'inscription mardi 26 février 2002 Statut Membre Dernière intervention 27 février 2012 - 16 avril 2011 à 04:14
Bonjour,

Je cherche à couper une chaine que si elle dépasse un certain nombre de caractère et si possible avec regex.

Exemple : Voici le début de ma phrase (...) et se termine ainsi.

Du genre :


System.Text.RegularExpressions.Regex.Replace(sChaine, "(?<sub>.{0,1})(?<sub>.{50})", "$1 (...) ")

2 réponses

eccsup Messages postés 77 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 14 novembre 2022
12 avril 2011 à 18:06
Salut, je ne pense pas que regex soit necessaire ici, utilise plutot l'attribut 'length'

if chaine.lenth > xx
'inserer un element au milieu
end if

J'espere t'avoir aidé...
0
cs_fabiano13 Messages postés 262 Date d'inscription mardi 26 février 2002 Statut Membre Dernière intervention 27 février 2012
16 avril 2011 à 04:14
Merci pour ta réponse, seulement oui car si elle trop longue je voudrai la raccourcir !


Voici le résultat cherché : abcdefg(...)qrstuvwxyz

Mais mon regex n'est pas bon !

Dim MaChaine As String = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"
Label1.Text = System.Text.RegularExpressions.Regex.Replace(MaChaine, "(?<sub>.{0,25})[ -.]*(?<sub>.{40,50})", "$1 (...) $2")
0
Rejoignez-nous