Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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
C# 将特定于区域性的字符转换为漂亮的URL格式_C#_Regex_Character_Culture - Fatal编程技术网

C# 将特定于区域性的字符转换为漂亮的URL格式

C# 将特定于区域性的字符转换为漂亮的URL格式,c#,regex,character,culture,C#,Regex,Character,Culture,我需要一些功能以url友好格式生成以下字符串: “knæsom gør”应该是“kna som gor” 也就是说,将特定于区域性的字符替换为可以在URL中使用的字符 使用.Net和C# 请帮帮我:) /安德烈亚斯不要把事情复杂化 可以使用regexp,也可以简单地使用。您可以在此处找到一个删除变音符号的解决方案:。不过,这个解决方案对æ或ø没有帮助 也许这样就可以删除足够多的特殊字符,剩下的可以用简单的替换来翻译 如果“url友好”并不意味着漂亮,那么您还可以使用HttpUtility.Url

我需要一些功能以url友好格式生成以下字符串: “knæsom gør”应该是“kna som gor”

也就是说,将特定于区域性的字符替换为可以在URL中使用的字符

使用.Net和C#

请帮帮我:)

/安德烈亚斯不要把事情复杂化


可以使用regexp,也可以简单地使用。

您可以在此处找到一个删除变音符号的解决方案:。不过,这个解决方案对æ或ø没有帮助

也许这样就可以删除足够多的特殊字符,剩下的可以用简单的替换来翻译

如果“url友好”并不意味着漂亮,那么您还可以使用HttpUtility.UrlEncode,它生成
“kn%c3%a6+som+g%c3%b8r”

编辑:添加了可能的解决方案(文章末尾)

我有一个非常类似的问题,尽管是文件名而不是URL。主要的问题似乎是,没有标准的方法来要求“对ø的最佳ASCII替换”,因此即使您可以找到所有不需要的字符,也很难自动插入哪个替换

我发布了很多可能有用的代码。有关详细信息,请参阅


编辑:我认为这个问题的解决方案在于,它允许您迭代字符串中的子字符(Unicode代理或组合字符)。这应该可以检测和转换像å这样的东西(可以用Unicode编码为A-WITH-RING或RINGED-A;过滤掉装饰符并保留普通字符的部分)。

这是一个错误的选择,因为有许多字符需要修复。以这种方式修复所有字符需要很多时间:p我仍然建议您研究正则表达式(regexp)。我相信你可以很容易地找到你可以使用的例子或已经完成的表达式。