J'ai une chaîne que j'ai besoin de faire plusieurs recherches et remplace pour supprimer les espaces de début et de fin à l'intérieur d'un attribut. Avant et après l'effet est montré ici (visuellement et avec un exemple JS de ce travail):Aide RegEx - conversion de JavaScript en C#
Maintenant, je dois faire l'équivalent en C# - remplacer toutes les références dans une chaîne. Mais je suis vraiment coincé. Je sais que le modèle est correct, comme indiqué dans la version JS, mais la syntaxe syntaxe/ESCAPE est en train de faire ma tête.
Voici ce que j'ai, mais bien sûr, cela ne fonctionne pas ;-)
//define the string
string xmlString = "<xml><elementName specificattribute=" 111 222 333333 " anotherattribute="something" somethingelse="winkle"><someotherelement>value of some kind</someotherelement><yetanotherelement>another value of some kind</yetanotherelement></elementName></xml>";
// here's the regExPattern - the syntax checker doesn't like this at all
string regExPattern = "/(specificattribute=)"\s*([^"]+?)\s*"/g";
// here's the replacement
string replacement = "$1\"$2\"";
Regex rgx = new Regex(regExPattern);
string result = rgx.Replace(xmlString, replacement);
Est-ce que quelqu'un peut me dire l'erreur de mes manières?
Merci beaucoup!
essayez de mettre un symbole @ à partir de la chaîne regExPattern comme ceci: chaîne regExPattern = @ "/ (specificattribute =)" \ s * (? [^ "] +) \ s * "/ g"; –
Vous ne devriez pas utiliser regex pour analyser XML C# a des outils puissants pour manipuler des documents XML –