C# 验证字符串是否没有空格字符,只有第一个和最后一个字符作为delimeter

C# 验证字符串是否没有空格字符,只有第一个和最后一个字符作为delimeter,c#,.net,vb.net,C#,.net,Vb.net,我需要验证字符串是否符合下一步: 无空格字符 以一个分隔符字符开始 以一个分隔符字符结尾 没有其他字符作为分隔符字符 如何做到这一点 更新了抱歉,遗漏了,开头和结尾应该只有一个分隔符字符如果我正确理解了您的问题,这应该可以: char delimiter = ... string delimiterString = delimiter.ToString(); string s = ... bool right = !s.Contains(' ') && s.Star

我需要验证字符串是否符合下一步:

  • 无空格字符
  • 以一个分隔符字符开始
  • 以一个分隔符字符结尾
  • 没有其他字符作为分隔符字符
如何做到这一点


更新了抱歉,遗漏了,开头和结尾应该只有一个分隔符字符

如果我正确理解了您的问题,这应该可以:

char delimiter = ...  
string delimiterString = delimiter.ToString();
string s = ...
bool right = !s.Contains(' ') 
  && s.StartsWith(delimiterString) 
  && s.EndsWith(delimiterString)
  && !s.Substring(1,s.Length-2).Contains(delimiter);
使用regex…假设#作为delimeter,零字符之间为可接受的

Regex rx=new Regex("^#+[^\s]*#$");

return rx.IsMatch(teststring);

看起来不错,顺便说一句,trim将执行多次并添加null检查。现在它应该可以正常工作了,null检查留给读者作为练习。regex为+1。现在就学习,这是一项“必备”技能