我想替换这样的字符串:
CD7849O =比;CD18490
所以如果你发现一个字符的形式是7和0,将它们替换为1和0 (7 =>1、0 =>
0)我尝试使用indexofchar,但它不工作
string result = "CD7849O";
string[] charToFind = { "0", "O", "I", "1", "7" };
foreach (string z in charToFind)
{
string charFind = z;
int indexOfChar = result.Trim().IndexOf(charFind);
Console.WriteLine(indexOfChar);
if (indexOfChar >= 0)
{
string y = "XXX";
string x = "XXX";
if (z == "0" && z == "1")
{
y = "O";
x = "I";
}
else if (z == "O" && z == "I")
{
y = "0";
x = "1";
}
else if (z == "O" && z == "7")
{
y = "0";
x = "1";
}
string resultY = result.Trim().Replace(charFind, y);
string resultHasil;
Console.WriteLine(resultY);
}
}
Use String.Replace()
string result = "CD7849O";
// replace 7 -> 1
result = result.Replace("7", "1");
// replace O -> 0
result = result.Replace("O", "0");
Replace方法将替换字符,如果它被发现,例如result = result.Replace("7", "1");
。如果您仍然想要检查该字符是否存在,那么您可以使用IndexOf方法。如果没有找到该字符,它将返回-1,否则将返回它找到的第一个字符的索引。您可以添加检查if index > -1