在c#中从resx的文件名中提取文化信息的最有效方法是什么?

时间:2010-04-23 18:24:33

标签: c# string

使用C#从resx的文件名中提取文化信息的最有效方法是什么?解决方案还应该处理文件名中没有文化信息(即form1.resx)。在这种情况下,应返回指定为“Default”的字符串。

2 个答案:

答案 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";
  }
}

这会返回一个匹配项(使用您要查找的短语作为匹配项),或者不匹配(这意味着您应该使用“默认”)。

相关问题