テキスト内のすべての単語を検索して置換する必要があります。これらの単語の形式 : で始まり、
例(long)で終わる;
(long)Row["Id"];
この形式の正規表現パターンは何ですか? いくつか試してみましたが、うまくいきません。ありがとう。
\(long\)(.*?);
(.*?)通常、最後に を見つけるために必要なだけキャプチャしようとします;。については(long)、括弧をエスケープする必要があります。
次のことを試してください。
var input = "(long)Row["Id"];";
var result = Regex.Replace(input, @"\(long\)([^;]+)", "$1.ToLong()");
次の式: \(long\)([^;]+):
\(: 左括弧に一致します(。long: long の文字どおりの単語に一致します。\): 右括弧に一致します)。([^;]+): 1 つ以上のセミコロン以外の文字に一致し、それらをキャプチャ グループ 1 に入れます。String.StartsWith正規表現の代わりにandString.EndsWithメソッドを使用できます。
例えば;
string[] lines = File.ReadAllLines(@"C:\Users\Public\TestFolder\Text.txt");
foreach(string word in lines)
{
if (word.StartsWith("(long)", StringComparison.InvariantCulture) && word.EndsWith(';', StringComparison.InvariantCulture))
{
//Replace your string here.
}
}