从字符串输入中获取参数值

Posted

技术标签:

【中文标题】从字符串输入中获取参数值【英文标题】:Get argument value from string input 【发布时间】:2011-09-27 22:32:48 【问题描述】:

如何创建一个类方法来从字符串输入中获取参数?

字符串值GetArugmentValueByName(字符串输入,字符串名称)

示例

myInput="code=4/P7q7W91a-oMsCeLvIaQm6bTrgtp6&
client_id=21302922996.apps.googleusercontent.com&
client_secret=XTHhXh1SlUNgvyWGwDk1EjXB&
redirect_uri=https://www.example.com/back&
grant_type=authorization_code";

如果我这样做

string myGrantType = GetArugmentValueByName(myInput, "grant_type");

myGrantType 的值应该等于“authorization_code”

【问题讨论】:

【参考方案1】:

您可以使用ParseQueryString 将参数解析为名称值集合,然后为您要查找的参数编制索引。

public string GetArgumentValueByName(string queryString, string paramName)

    var paramCol = HttpUtility.ParseQueryString(queryString);
    return paramCol[paramName] ?? string.Empty;        

【讨论】:

修改了我的代码,如果使用不存在的键对其进行索引,NameValueCollection 将返回 null。所以不需要先检查键集来判断 paramName 是否存在。

以上是关于从字符串输入中获取参数值的主要内容,如果未能解决你的问题,请参考以下文章

C++中如何获取参数的值以及对字符串进行处理

WKWebView - 获取html表单的查询参数

Javasrcipt中从一个url或者从一个字符串中获取参数值得方法

从 .NET 中的字符串获取 URL 参数

Mybatis 学习---${ }与#{ }获取输入参数的区别Foreach的用法

聊天机器人用户从字符串中获取参数的最佳方式