在我的代码中,我有以下内容:
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个字符串字符,只显示美国
如果区域设置显示为fr-FR,则显示fr 2次是没有意义的。
但是我需要将值保留在a href中,因为fr-FR只需要将其显示为FR。
我可以创建一个新的字段数据库并将其称为Description2,然后手动记下每个国家的US和FR和DE。这将是我的快速解决方法。任何想法如何从字面上删除描述中的3个字符串字符?
答案 0 :(得分:2)
如果char长度始终相同,则使用substring
String x = "en-US";
x.Substring(3);
答案 1 :(得分:2)
由于您只是显示字符串,因此可以将第二个参数({1}
)保留为
DB.RSField(rs, "Name").Substring(DB.RSField(rs, "Name").IndexOf('-')+1, 2)
...并{0}
保持href
与{{1}}相同。
答案 2 :(得分: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));
答案 3 :(得分: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]));