iT邦幫忙

2021 iThome 鐵人賽

2
Software Development

C# 入门系列 第 32

C# 入门之正则表达式匹配并替换

好久没有更新了,最近比较忙,不过今天遇到一个很有意思的问题,就过来记录一下。

通过正则表达式匹配文本并替换。

在一个脚本中,有很多路径,此时我需要更改这个路径的部分,所以需要通过正则表达式来匹配,找到满足条件的字符串,然后再进行替换。

原始路径:

%USERPROFILE%\tools\test.cmd

替换后的路径:

C:\tools\test.cmd

代码内容:

using System;
using System.Text.RegularExpressions;

namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
            string a = "%USERPROFILE%\\tools\\test.cmd";
            string regexStr = @"^\%.*\%";    // 匹配已 % 开头和结尾,中间有一个或多个字符串
            string c = Regex.Replace(a, regexStr,"C:");   // 通过 Regex 类中的 Replace 方法,来进行匹配替换
            Console.WriteLine(c);
        }
    }
}

Replace 语法:

Regex.Replace(源文本, 匹配规则,替换字符串)

为什么说这个很有意思呢,我的理解:在匹配规则的时候,我使用了 @,后面应该都转义了,不需要额外的转义字符了,应该可以直接将两个 % 当成字符串进行匹配,结果确不行。


上一篇
未完,待续..........
系列文
C# 入门32

1 則留言

0
deh
iT邦新手 1 級 ‧ 2021-11-29 13:13:13

Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.

我要留言

立即登入留言