Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';这是从resx&x27;中提取区域性信息的最有效方法;s文件名是否为c#?_C#_String - Fatal编程技术网

什么';这是从resx&x27;中提取区域性信息的最有效方法;s文件名是否为c#?

什么';这是从resx&x27;中提取区域性信息的最有效方法;s文件名是否为c#?,c#,string,C#,String,使用C#从resx文件名中提取区域性信息的最有效方法是什么?该解决方案还应处理文件名中没有区域性信息的情况(即form1.resx)。在这种情况下,应返回指定为“Default”的字符串。您的最佳选择就是使用正则表达式: string ParseCulture(string input) { var r = Regex.new('[\w\d]+\.([\w\-]+)\.resx') // Match the regular expression pattern against a tex

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

您的最佳选择就是使用正则表达式:

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

这将返回一个匹配项(您正在查找的短语作为匹配项),或者没有匹配项(这意味着您应该使用“默认值”)。

这似乎是可行的:

string GetCulture(string s)
{
  var arr=s.Split(".");
  if(arr.Length>2)
    return arr[1];
  else
    return "Default";
}

你想在请求的时候把它拔出来吗?或者这只是一个简单的字符串操作(如标签所示)?我应该补充一点,我不知道句点之间包含哪个区域性。基本上,如果有一个,那么我需要抓取它,否则返回“Default”。aronchick-只是字符串操作。对不起,我问得不好。我不知道到底哪种文化会出现,我只需要抓住它,如果它是在两个时期之间。