C#使用正则表达式,如何在url中查找语言

时间:2014-10-27 12:15:22

标签: c# regex

我有一个类库,可以将自定义工具箱添加到外部IE浏览器。 我使用SHDocVw来执行后退/前进按钮(例如)。我的问题是,感觉这是多语言,我怎么能改变按钮文字...... 网址给我" / en /"或" / ar /",我怎么能抓住这个? 感谢

通过Mati Cicero回答,我成功了。

string page = ie.LocationURL; 正则表达式rgx =新正则表达式(@" https?:// [a-zA-Z0-9。-_] +(/((?' lang' ar | en)|。*) )/"?);

var lang = rgx.Match(page)。成功? rgx.Match(页).Groups [1] .Value:" ar";

2 个答案:

答案 0 :(得分:1)

您可以尝试使用以下正则表达式,我尝试尽可能多地使用它:

https?:\/\/[a-zA-Z0-9\.\-_]+(\/((?'lang'es|en)|.*))\/?

然后,您将检查" lang" 组以查看是否匹配。

您希望添加更多可用语言(在 中添加 ch ):

https?:\/\/[a-zA-Z0-9\.\-_]+(\/((?'lang'es|en|ch|in)|.*))\/?

答案 1 :(得分:0)

如果它始终是第一个目录;

var lang = new Uri("http://sitename.com/en/pages/default.aspx")
               .Segments[1].Replace("/", string.Empty).ToLower();