我正在开发Windows Phone 7 prog。 主题名称中的符号存在问题。我想使用这个C#代码:
str="Santiago Bernabéu";
int i=str.IndexOf(é);
if(i!=-1)
str.Replace('é','e');
但在调试中i = -1。
请帮我解决这个问题:)
P.S。我是俄罗斯人,我的英语不好。请用简单的英语回答我:)谢谢:)
P.P.S。谢谢!但还有另一个问题:我的程序员在调试模式中下载信息和主题名称中的符号 - ' '。也许这是编码麻烦?使用UTF-8获取所需信息的网站。
P.P.P.S。
正在下载源代码:
public string Adress
{
get
{
return _adr;
}
set
{
_adr = value.Substring(0, value.Length - 1);
client.Encoding = System.Text.UTF8Encoding.UTF8;
client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(client_DownloadStringCompleted);
client.DownloadStringAsync(new Uri(_adr, UriKind.Absolute));
}
}
处理程序:
void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Error != null)
return;
_sourcecode = e.Result;
}
请帮助:)这是项目功能部分的最后一个问题
答案 0 :(得分:2)
以下适用于我:
string str = "Santiago Bernabéu";
int i = str.IndexOf('é');
Console.WriteLine("i = {0}", i);
if(i != -1)
str = str.Replace('é', 'e');
Console.WriteLine(str);
输出结果为:
i = 15
Santiago Bernabeu
请注意,您需要执行str = str.Replace('é', 'e')
- 替换不会发生。
答案 1 :(得分:0)
这可能取决于您系统的区域设置。请尝试以下方法:
int i = str.IndexOf("é", StringComparison.InvariantCulture)
尼科
答案 2 :(得分:0)
解决此问题 - 使用MSPToolkit