我有一个类似 AX_1234X_12345_X_CXY
的字符串,我想从 第一个下划线 _
之后删除 X
即从 1234X
到 1234
。所以最终输出将类似于 AX_1234_12345_X_CXY
。怎么做??如果我使用 .Replace("X", "")
它将替换我不想要的 all X
最佳答案
您可以从 '_'
的第一次出现开始遍历字符串。
您可以使用 IndexOf() 找到第一次出现的 '_'
。
当循环到达“X”时,它不会将其附加到“固定字符串”。
private static void Func()
{
string Original = "AX_1234X_12345_X_CXY";
string Fixed = Original.Substring(0, Original.IndexOf("_", 0));
// in case you want to remove all 'X`s' after first occurrence of `'_'`
// just dont use that variable
bool found = false;
for (int i = Original.IndexOf("_", 0); i < Original.Length; i++)
{
if (Original[i].ToString()=="X" && found == false)
{
found = true;
}
else
{
Fixed += Original[i];
}
}
Console.WriteLine(Fixed);
Console.ReadLine();
}
关于c# - 如何在 C# 中替换字符串中的特定字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44661954/