テキスト内のすべての単語を検索して置換する必要があります。これらの単語の形式 : で始まり、
例(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.
}
}