简体   繁体   English

检查字符串是否包含环境变量

[英]Check if string contains environment variable

In .Net we have method Environment.ExpandEnvironmentVariables that allows us to replace all environment variables that provided string contains into its values. 在.Net中,我们具有Environment.ExpandEnvironmentVariables方法,该方法使我们可以将字符串中包含的所有环境变量替换为其值。

But what if I only want to check if string contains any environment variable? 但是,如果我只想检查字符串是否包含任何环境变量怎么办? Of course I can compare string before and after expanding, but is there more elegant way to do that? 当然,我可以在扩展前后比较字符串,但是还有更优雅的方法吗?

You could create an extension that does a Regex search against the string 您可以创建一个扩展,对字符串进行正则Regex搜索

public static bool HasEnvironmentVariable(this string path)
{
    Regex regex = new Regex(@"%[A-Za-z0-9\(\)]*%");
    Match match = regex.Match(path);

    return match.Success;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM