asp.net从一串字符中,找出第一个匹配的字符,然后替换

时间:2022-02-16 05:39:26
现在有一串字符,如“我是北京大学物理系的物理专业的学生”,我需要查找出第一个“物理”俩字,然后替换成别的。注意这串字符出现了2次“ 物理”,但是我只把第一次出现的“物理” 替换成别的字符。该怎么办呢?

5 个解决方案

#1


string test = "xabada";
int index = test.IndexOf("a");
if (index > -1)
{
    test = test.Remove(index, 1).Insert(index, "*");
}

已经搞定。

#2


string test = "我是北京大学物理系的物理专业的学生";
string OldString = "物理";
string NewString = "化学";
int i = test.IndexOf(OldString);
if (i>=0)
{
    test = test.Substring(0, i) + NewString + test.Substring(i + OldString.Length);
}
MessageBox.Show(test);

#3


string str = "我是北京大学物理系的物理专业的学生";
            Regex regex = new Regex("物理", RegexOptions.IgnoreCase);
            str = regex.Replace(str, "化学", 1, regex.Match(str).Index);
            Assert.AreEqual("我是北京大学化学系的物理专业的学生",str);

#4


楼上都解答了。就不赘述了。
indexof找到第一个匹配项下标,然后根据下标来替换

#5


asp.net从一串字符中,找出第一个匹配的字符,然后替换

#1


string test = "xabada";
int index = test.IndexOf("a");
if (index > -1)
{
    test = test.Remove(index, 1).Insert(index, "*");
}

已经搞定。

#2


string test = "我是北京大学物理系的物理专业的学生";
string OldString = "物理";
string NewString = "化学";
int i = test.IndexOf(OldString);
if (i>=0)
{
    test = test.Substring(0, i) + NewString + test.Substring(i + OldString.Length);
}
MessageBox.Show(test);

#3


string str = "我是北京大学物理系的物理专业的学生";
            Regex regex = new Regex("物理", RegexOptions.IgnoreCase);
            str = regex.Replace(str, "化学", 1, regex.Match(str).Index);
            Assert.AreEqual("我是北京大学化学系的物理专业的学生",str);

#4


楼上都解答了。就不赘述了。
indexof找到第一个匹配项下标,然后根据下标来替换

#5


asp.net从一串字符中,找出第一个匹配的字符,然后替换