检查字符串是不是包含环境变量
Posted
技术标签:
【中文标题】检查字符串是不是包含环境变量【英文标题】:Check if string contains environment variable检查字符串是否包含环境变量 【发布时间】:2016-10-03 14:15:11 【问题描述】:在 .Net 中,我们有方法 Environment.ExpandEnvironmentVariables
,它允许我们将提供的字符串包含的所有环境变量替换为其值。
但是如果我只想检查一个字符串是否包含环境变量呢?
当然,我可以比较展开前后的字符串,但是有没有更优雅的方法呢?
【问题讨论】:
我认为比较是你最好的也是唯一的选择。 另外,您可以使用Environment.GetEnvironmentVariables
获取键值对列表(实际上是字典)并自己替换它们。但我不确定是否有一些可能难以覆盖的极端案例。
【参考方案1】:
您可以创建一个扩展程序,对字符串进行 Regex
搜索
public static bool HasEnvironmentVariable(this string path)
Regex regex = new Regex(@"%[A-Za-z0-9\(\)]*%");
Match match = regex.Match(path);
return match.Success;
【讨论】:
以上是关于检查字符串是不是包含环境变量的主要内容,如果未能解决你的问题,请参考以下文章