C#字符串操作-从:Hello.Test.Trash到Hello.Test
本文关键字:Hello Test Trash 字符串 操作 | 更新日期: 2023-09-27 18:21:46
我得到了一个字符串:
"Hello.Test.Trash"
或"Hello.Test.Computer.Trash"
或"Haha.Yeah.Space.Car.Trash"
我希望能够删除最后一个单词"垃圾",它总是一样的,包括前面的点:
"Hello.Test"
"Hello.Test.Computer"
"Hello.Yeah.Space.Car"
最好/最干净的方法是什么?
如果末尾只有一个'.Trash':
string value = "Hello.Test.Trash";
string notrash = value.Replace(".Trash","");
// notrash = "Hello.Test"
如果'.Trash'也可以在字符串的中间,并且您不想替换它:
string value = "Hello.Trash.Test.Trash";
string notrash = Regex.Replace(value, @"'.Trash$", "");
// notrash = "Hello.Trash.Test"
myString = myString.Substring(0,myString.Length - "Trash".Length)
我会非常小心地使用replace,因为这会两次替换这个字符串中的垃圾:
I.trash.in.trash
获得"I.in"
删除所有.RTrash实例(包括中间)
var resultString = inputString.Replace(".Trash", String.Empty);
如果你100%确定最后一组字符将是"Trash",并且你只想删除最后一次出现的字符,那么你也可以使用
var resultString = inputString.SubString(0, inputString.Lenght - 6); //6 is lenght of .Trash
如果Trash只在字符串中出现一次,则有两个选项:
string s = "Hello.Test.Trash";
string s1 = s.Replace(".Trash", string.Empty);
string s2 = s.Remove(s.IndexOf(".Trash"));