0

在我的代码中,我有以下内容:

optionlist.AppendFormat("<li>
<a href=\"setlocale.aspx?returnURL=Default.aspx&localesetting={0}\">{1}</a>
</li>", DB.RSField(rs, "Name"), DB.RSField(rs, "Name"));

数据库中的名称具有以下值:en-US

我怎么能错过前 3 个字符串字符而只显示US

如果语言环境显示为 fr-FR,则显示 fr 2 次是没有意义的。

但我需要将值保留在 a href 中,因为 fr-FR 只需将其显示为 FR。

我可以创建一个新字段 inteh DB 并将其命名为 Description2,然后手动记下每个国家/地区的 US、FR 和 DE。这将是我的快速解决方法。任何想法 id 如何从描述中删除 3 个字符串字符?

4

4 回答 4

2
string[] subStr = Name.Split("-");

optionlist.AppendFormat("<li>
<a href=\"setlocale.aspx?returnURL=Default.aspx&localesetting={0}\">{1}</a>
</li>", DB.RSField(rs, subStr[1]), DB.RSField(rs, subStr[1]));
于 2012-06-18T09:58:24.950 回答
2

由于您只是显示字符串,因此您可以将第二个参数 ( {1}) 保留为

DB.RSField(rs, "Name").Substring(DB.RSField(rs, "Name").IndexOf('-')+1, 2)

...并保持{0}与您的href.

于 2012-06-18T09:57:53.747 回答
2
optionlist.AppendFormat("<li>
<a href=\"setlocale.aspx?returnURL=Default.aspx&localesetting={0}\">{1}</a>
</li>", DB.RSField(rs, "Name").Substring(3), DB.RSField(rs, "Name").Substring(3));
于 2012-06-18T09:58:03.073 回答
2

如果字符长度始终相同,则使用子字符串

String x = "en-US";
x.Substring(3);
于 2012-06-18T09:56:18.363 回答