使用C#从resx的文件名中提取文化信息的最有效方法是什么?解决方案还应该处理文件名中没有文化信息(即form1.resx)。在这种情况下,应返回指定为“Default”的字符串。
答案 0 :(得分:4)
这似乎有用:
string GetCulture(string s)
{
var arr=s.Split(".");
if(arr.Length>2)
return arr[1];
else
return "Default";
}
答案 1 :(得分:2)
你最好的选择就是使用正则表达式:
string ParseCulture(string input)
{
var r = Regex.new('[\w\d]+\.([\w\-]+)\.resx')
// Match the regular expression pattern against a text string.
Match m = r.Match(input);
if (m.Success)
{
return m.Groups[1];
}
else
{
return "Default";
}
}
这会返回一个匹配项(使用您要查找的短语作为匹配项),或者不匹配(这意味着您应该使用“默认”)。