我确实回顾了以下内容,它确实在某些方面有所帮助,但并没有找到最终的解决方案:
C# replace strings in array with LINQ
Replacing characters in a string array with linq
Linq to SQL replace .Any() with .Contains()
How to replace any in Linq
string replace using Linq in c#这个方法可能可行,但我目前不确定是否值得使用列表而不是数组来转换所有代码
Replacing values in a list inside a Linq query with values from a dictionary
源文件摘录:
阿尔巴尼亚欧元97
阿尔及利亚欧元110
安提瓜和巴布达(安提瓜和巴布达)
阿根廷133美元
亚美尼亚220美元
奥地利欧元> 131
澳大利亚A $230
阿塞拜疆145美元
源文档(只有PDF,经过多次请求和多年仍然没有CSV等)包含同一货币的多个版本。示例:美元
- 美元
- 美国(S)
- 等等的。
设置以下数组以尝试提供某种标准化:
- 效果很好 *
var incCurrDollar = new[] { "US dollar ($)", "US ($)", "US $" };
var incCurrEuro = new[] { "Euro (€)", "Euro" };
var incCurrPound = new[] { "Pounds Sterling (£)", "British Pounds" };
var incCurrAus = new[] { "Australian $", "A ($)", "Australian ($)" };
var incCurrZAR = new[] { "RSA Rand (R)", "RSA Rand", "Rand" };
var incCurrKHN = new[] { "Hong Kong ($)", "Hong Kong $", "HK $" };
var incCurrNZL = new[] { "New Zealand ($)", "New Zealand $", "NZ $" };
以下列方式雇用:
if (rCurrency == "")
{
rCurrency = incCurrAus.Any(x => exRowCurrent.Contains(x)) ? "Australian ($)" : "";
rCurrencyUnit = incCurrAus.Any(x => exRowCurrent.Contains(x)) ? "AUD" : "";
}
有没有办法用标准化版本替换exRowCurrent的适用内容?
1条答案
按热度按时间ioekq8ef1#
这似乎是最快速和简单的方法(它只是似乎太简单了:))