C#将参数从字符串属性传递给返回变量值的函数



我正在尝试制作一个程序,在转换一系列测量值时,该程序的作用类似于谷歌搜索。

我需要程序:

1( 查找单元的位置,例如"4cm到英寸">

2( 使用unitpos=Toconvert确定单位是什么。IndexOf(单位(参考单位((作为一个范围将存储在存储器中

3( 识别要转换的值,以便函数返回适当的单位

4( 适当地转换该值。

我目前遇到的问题是试图找到部队的位置。当你知道每次输入的单位时,这很简单,但当程序需要从一系列不同的单位中搜索时,它就过时了。花了几个小时,却一无所获。

您可以在这里检查正则表达式,它们用于匹配文本中的模式。

这里还有一个很好的快速编辑器来测试。

我认为这段代码不适合评论,一个粗糙的例子:

string input = "4cm to inches";
Regex expression = new Regex(@"(?<quantity>[0-9]+)(s)*(?<source>w+)(s)*(to | in | (s)*)(s)*(?<destination>w+)");
Match match = expression.Match(input);
if (match.Success)
{
// ... Get group by name.
string quantity = match.Groups["quantity"].Value;
string unitSource = match.Groups["source"].Value;
string unitDestination = match.Groups["destination"].Value;
}

你可以在这里阅读更多关于词干和旅语化的内容。基本上,它可以归结为将"英寸"、"英寸"和其他变体视为一个相同的概念。

最新更新