2010-07-08 4 views

Répondre

1

Pour supprimer la ligne entièrement (en supposant que l'entrée est une chaîne de caractères qui a toutes les lignes délimitées par \n):

result = Regex.Replace(input, "^Fielt2:.*\n", "", RegexOptions.MultiLine); 

Pour remplacer la ligne:

result = Regex.Replace(input, "^Field2:.*", "Field2: SomethingElse", RegexOptions.MultiLine); 

Depuis .* saisit tout à la fin de la ligne, sauf le saut de ligne d'arrivée, il n'y a pas besoin d'utiliser $ pour correspondre à la fin de la ligne.

0

Dans ce cas, nous pouvons trivialement utiliser des ancres pour correspondre simplement cette ligne:

Regex.Replace(input, "^Field2:.*$", "Field2: SomethingElse"); 
+1

Vous devez définir 'RegexOptions.Multiline', ou cela ne fonctionnera pas car sinon'^'et' $ 'correspondent au début/fin de la chaîne au lieu du début/fin de la ligne. –

Questions connexes