我想从字符串的开头和结尾删除%
个字符。例如:
string s = "%hello%world%";
期望的结果:hello%world
。
我知道如果案例结合StartsWith()
,EndsWith()
等,我可以解决这个问题。但我正在寻找更清洁的解决方案。
我认为regexp是去这里的方式,而这正是我需要你帮助的地方。
答案 0 :(得分:14)
不需要正则表达式。只需使用:
string result = input.Trim('%');
但是如果你真的需要正则表达式,你需要使用start(^
)和end($
)锚点,如下所示:
string result = Regex.Replace(input, "^%|%$", "");
答案 1 :(得分:5)
s = s.Trim('%');
正则表达式不是简单的方法,但如果你坚持:
s = Regex.Replace(s, @"^%+|%+$", "");
答案 2 :(得分:1)
您可以执行以下操作:
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));