如何在C#中使用Regex获取子字符串

LPrc

我的程序解析一个包含路径的XML文件。现在,我需要解析特殊的文件夹,例如Appdata在不同的Windows设备上:

<entry path="C:\Users\Simon\AppData\Roaming\myprogram" />

我的尝试是将行更改为:

<entry path="#{APPDATA}\myprogram" />

并使用正则表达式进行解析:

string pattern = "#{ * }"; // what does fit here?

我已经阅读过一些正则表达式的教程,但我无法弄清楚哪种正则表达式适合这里。

如何在正则表达式之间#{以及}使用正则表达式获取内容

只需注册要替换的通用占位符即可,例如

Dictionary<string, string> placeholders = new Dictionary<string, string>
{
    { "#{APPDATA}", @"C:\Users\Simon\AppData\Roaming" },
    { "#{SYSTEM32}", @"C:\Windows\System32" }
};

string ReplacePlaceholders (string text)
{
    foreach (var kv in placeholders)
    {
        text = text.Replace(kv.Key, kv.Value);
    }
    return text;
}

像这样使用:

// this would come from the XML attribute
string path = @"#{APPDATA}\myprogram";

string newPath = ReplacePlaceholders(path);
Console.WriteLine(newPath); // C:\Users\Simon\AppData\Roaming\myprogram

至于实际值路径,还可以Environment.GetFolderPathEnvironment.SpecialFolder枚举一起使用以获取实际路径。但是对于替代品和其他值,答案仍然适用

最后,由于我不确定您是从哪个方向进行这些替换,因此您当然也可以在上述字典中反转映射。我只是假设您有要用实际路径替换的占位符。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法在C ++中使用RegEx从字符串中获取所有子字符串

来自分类Dev

如何在Linq查询C#中使用子字符串

来自分类Dev

如何使用 C# 从 Xpath 获取子字符串?

来自分类Dev

如何在C#中使用regex.replace替换url字符串中间的文本

来自分类Dev

如何在C#中使用newtonsoft .json从json字符串获取值

来自分类Dev

如何在PHP中使用开始和结束字符获取字符串的子字符串?

来自分类Dev

C ++如何在字符后获取子字符串?

来自分类Dev

如何在python3中使用搜索从主字符串获取空格前后的子字符串?

来自分类Dev

如何在linq查询中使用子字符串?

来自分类Dev

如何在linq查询中使用子字符串?

来自分类Dev

如何在RawQuery Android中使用子字符串

来自分类Dev

如何在 Ionic 2 中使用子字符串

来自分类Dev

如何在C#中获取子字符串的值

来自分类Dev

如何在Swift中使用字符串获取

来自分类Dev

如何在Swift中使用字符串获取

来自分类Dev

如何在C#中使用linq在以“ <input”开头的字符串中拆分字符串

来自分类Dev

如何在 C# 中使用字符串键和值创建字符串多维数组?

来自分类Dev

如何在JXPath表达式中使用字符串的子字符串

来自分类Dev

如何在字符串C#中获取单词

来自分类Dev

如何从C#中的URL获取子字符串或部分字符串

来自分类Dev

C#如何在字符串中使用语句来解析文本

来自分类Dev

如何在Angular ng-init中使用C#字符串数组?

来自分类Dev

如何在WPF Webbrowser中使用C#将字符串插入输入字段

来自分类Dev

如何在C#中使用逐字字符串?

来自分类Dev

如何在C#中使用LINQ转换JSON字符串

来自分类Dev

如何在C#中使用HttpPostedFileBase连接字符串?

来自分类Dev

如何在C#中使用Contains和Linq方法在字符串中搜索数字?

来自分类Dev

如何在Nlua中使用C#静态字符串

来自分类Dev

如何在C#中使用Convert.ToSingle()将字符串更改为int

Related 相关文章

  1. 1

    无法在C ++中使用RegEx从字符串中获取所有子字符串

  2. 2

    如何在Linq查询C#中使用子字符串

  3. 3

    如何使用 C# 从 Xpath 获取子字符串?

  4. 4

    如何在C#中使用regex.replace替换url字符串中间的文本

  5. 5

    如何在C#中使用newtonsoft .json从json字符串获取值

  6. 6

    如何在PHP中使用开始和结束字符获取字符串的子字符串?

  7. 7

    C ++如何在字符后获取子字符串?

  8. 8

    如何在python3中使用搜索从主字符串获取空格前后的子字符串?

  9. 9

    如何在linq查询中使用子字符串?

  10. 10

    如何在linq查询中使用子字符串?

  11. 11

    如何在RawQuery Android中使用子字符串

  12. 12

    如何在 Ionic 2 中使用子字符串

  13. 13

    如何在C#中获取子字符串的值

  14. 14

    如何在Swift中使用字符串获取

  15. 15

    如何在Swift中使用字符串获取

  16. 16

    如何在C#中使用linq在以“ <input”开头的字符串中拆分字符串

  17. 17

    如何在 C# 中使用字符串键和值创建字符串多维数组?

  18. 18

    如何在JXPath表达式中使用字符串的子字符串

  19. 19

    如何在字符串C#中获取单词

  20. 20

    如何从C#中的URL获取子字符串或部分字符串

  21. 21

    C#如何在字符串中使用语句来解析文本

  22. 22

    如何在Angular ng-init中使用C#字符串数组?

  23. 23

    如何在WPF Webbrowser中使用C#将字符串插入输入字段

  24. 24

    如何在C#中使用逐字字符串?

  25. 25

    如何在C#中使用LINQ转换JSON字符串

  26. 26

    如何在C#中使用HttpPostedFileBase连接字符串?

  27. 27

    如何在C#中使用Contains和Linq方法在字符串中搜索数字?

  28. 28

    如何在Nlua中使用C#静态字符串

  29. 29

    如何在C#中使用Convert.ToSingle()将字符串更改为int

热门标签

归档