の検索を行うなど、ワイルドカードを使用してさまざまな文字列を検索しますtest0?
(の後にスペースがあります?
)。検索によって生成される文字列は次のとおりです。
test01
test02
test03
(and so on)
置換テキストは、たとえば次のようになります。
test0? -
上記のワイルドカードはtest0? -
、1、2、または 3... を表します。
したがって、置換文字列は次のようになります。
test01 -
test02 -
test03 -
string pattern = WildcardToRegex(originalText);
fileName = Regex.Replace(originalText, pattern, replacementText);
public string WildcardToRegex(string pattern)
{
return "^" + System.Text.RegularExpressions.Regex.Escape(pattern).
Replace("\\*", ".*").Replace("\\?", ".") + "$";
}
問題は、元の文字と追加された文字を使用して新しい文字列を保存することです。文字列を検索し、文字列を操作してオリジナルを保存することもできますが、オーバーヘッドが大きすぎるようです。もっと簡単な方法があるはずです。
ご意見ありがとうございます。
編集:
ワイルドカード ? を使用して文字列を検索します。可能な文字列は次のとおりです:
test01 someText
test02 someotherText
test03 moreText
正規表現を使用すると、検索文字列パターンは次のようになります:
test0? -
したがって、各文字列は次のようになります。
test01 - someText
test02 - someotherText
test03 - moreText
正規表現のワイルドカード「?」に置き換えられた文字を保持する方法
私のコードが立っているので、それはテストとして出てきますか? - someText
それは間違っています。
ありがとう。
編集番号 2
まず、皆さんの回答と指示に感謝します。それは助けになり、私を正しい軌道に導きました。今では、正確な質問をより適切に行うことができます。
それは置換と関係があります。
正規表現の後にテキストを挿入します。
私が提供したサンプル文字列は、常にその形式であるとは限りません。私は置換を検討してきましたが、構文が正しくないようです。そして私はVS 2008を使用しています。
他に提案はありますか?
ありがとう