我想%
从字符串的开头和结尾删除字符。例如:
string s = "%hello%world%";
期望的结果:hello%world
。
我知道我可以用一些 if case 结合等来解决这个问题StartsWith()
。EndsWith()
但我正在寻找一个更清洁的解决方案。
我想正则表达式是去这里的方式,这就是我需要你帮助的地方。
不需要正则表达式。只需使用这个:
string result = input.Trim('%');
但是如果你真的需要一个正则表达式,你需要使用 start ( ^
) 和 end ( $
) 锚点,像这样:
string result = Regex.Replace(input, "^%|%$", "");
s = s.Trim('%');
正则表达式不是简单的方法,但如果你坚持:
s = Regex.Replace(s, @"^%+|%+$", "");
您可以执行以下操作:
string s = "%hello%world";
char c = '%';
int indexBegin = s[0] == c ? 1 : 0;
int indexEnd = s[s.Length - 1] == c ? 1 : 0;
s = s.Substring(indexBegin, s.Length - (indexEnd+indexBegin));