私は検索して検索していますが、解決策を見つけることができません。
私はC#で正規表現を使用してXMLドキュメントのタグにドットを削除する必要があります....RegExp、タグ内のドットを削除する
ので、例えば:
test <12.34.56>test.test<12.34>
は次のようになります。
test <12346>test.test<1234>
そこで、基本的タグを削除するだけです....任意のアイデア?
私は検索して検索していますが、解決策を見つけることができません。
私はC#で正規表現を使用してXMLドキュメントのタグにドットを削除する必要があります....RegExp、タグ内のドットを削除する
ので、例えば:
test <12.34.56>test.test<12.34>
は次のようになります。
test <12346>test.test<1234>
そこで、基本的タグを削除するだけです....任意のアイデア?
resultString = Regex.Replace(subjectString, @"\.(?=[^<>]*>)", "");
は、次の角括弧が閉じ角括弧の場合にのみ、ドットを空の文字列で置き換えます。
これはもちろん、タグ間のテキストの内側に閉じ括弧が現れる可能性があるため、脆いですが、そうでないことが確実であればOKです。
説明:
\. # Match a dot
(?= # only if the following regex can be matched at the current position:
[^<>]* # - zero or more characters except <or>
> # - followed by a >
) # End of lookahead assertion
私はそれ
XDocument xdoc = XDocument.Load(new StringReader("<root><s123.45><s678.9>aaaa</s678.9></s123.45></root>"));
foreach (var elem in xdoc.Descendants())
elem.Name = elem.Name.LocalName.Replace(".", "");
Console.WriteLine(xdoc);
のXMLパーサーを使用するには、あなたが "**正規表現で** ...削除する必要があり、" 特に理由はありますか? – AakashM