indexof返回-1

时间:2018-10-31 15:56:20

标签: c#

当我的字符串为mail&mail@mail.com时,代码返回-1。

我该如何解决?

email = mail&mail@mail.com
int arroba = email.IndexOf("@");

我也尝试过:

int arroba = email.IndexOf("@", email.IndexOf("&"));

任何帮助都能为我服务

1 个答案:

答案 0 :(得分:2)

问题在于您搜索的字符与电子邮件字符串中的字符具有不同的文化。

尝试一下:

email = "email = mail&mail@mail.com";
int result = -1;
int and = CultureInfo.InvariantCulture.CompareInfo.IndexOf(email, "&");
if(and!=-1)
result = CultureInfo.InvariantCulture.CompareInfo.IndexOf(email, "@");