C# 如何删除字符串开头的特殊字符,但保留在字符串正文中?

C# 如何删除字符串开头的特殊字符,但保留在字符串正文中?,c#,C#,我有一个很长的字符串,我想删除开头的仅保留字母: 示例:如果字符串以:1234开头,我将在下午2点去看电影:或!@#$%天哪,我好害怕 然后输出应该是:我将在下午2点去看电影:天哪,我很害怕 注:2号仍然保留 简言之,我只想删除字符串开头的特殊字符,但保留所有其他字符。我可以使用这样的正则表达式: Regex.Replace(input, @"[^a-zA-Z]", ""); 但我不确定如何将其与sStartWith方法结合起来 通过特殊字符,我仅表示字母A-Z或A-Z。 谢谢 ^在正则表达式

我有一个很长的字符串,我想删除开头的仅保留字母:

示例:如果字符串以:1234开头,我将在下午2点去看电影:或!@#$%天哪,我好害怕

然后输出应该是:我将在下午2点去看电影:天哪,我很害怕

注:2号仍然保留

简言之,我只想删除字符串开头的特殊字符,但保留所有其他字符。我可以使用这样的正则表达式:

Regex.Replace(input, @"[^a-zA-Z]", "");
但我不确定如何将其与s
StartWith
方法结合起来

通过特殊字符,我仅表示字母A-Z或A-Z。

谢谢

^在正则表达式的开头,模式匹配字符串的开头


^在正则表达式的开头,模式匹配字符串的开头。

此字符串方法可能会有帮助:

此字符串方法可能会有帮助:

如果您知道要删除的字符,我会同意。或者如果一开始所有的角色都在一起,你也可以这样做

myString.Substring(myString.IndexOf(' '));
要删除所有内容直到第一个空格

,如果您知道要删除的字符,我会选择。或者如果一开始所有的角色都在一起,你也可以这样做

myString.Substring(myString.IndexOf(' '));

要删除所有内容直到第一个空格

你的正则表达式是好的,只需在它的开头放一个
^
\a
,将它锚定到字符串的开头。编辑:在末尾添加一个
+
*
以删除所有字符,而不仅仅是第一个字符。您的正则表达式很好,只需在其开头添加一个
^
\a
,将其锚定到字符串的开头即可。编辑:并在末尾添加一个
+
*
,以删除所有这些字符,而不仅仅是第一个字符。但是如果不需要的字符出现在字符串主体中,会发生什么情况?不会替换它吗?@不平均值:没有。领先的<代码> ^ <代码>将它锚定到字符串的开始。不,因为在模式的开头有^。你也可以考虑剥去引线空间。哦,哇,这真是令人印象深刻。我在尝试使用
StartWith
方法时,遇到了很大困难。这就成功了!谢谢大家!!但是如果不需要的字符出现在字符串的主体中,会发生什么呢?不会替换它吗?@不平均值:没有。领先的<代码> ^ <代码>将它锚定到字符串的开始。不,因为在模式的开头有^。你也可以考虑剥去引线空间。哦,哇,这真是令人印象深刻。我在尝试使用
StartWith
方法时,遇到了很大困难。这就成功了!谢谢大家!!