C# 删除C中字符串中的字符#
我有以下字段正在调用数据库C# 删除C中字符串中的字符#,c#,C#,我有以下字段正在调用数据库电话号码。当显示号码时,我想删除1- 因此,我不想显示1-############,而是想显示########### 我尝试了以下方法: string x= Phone_Number; x.Remove(0,1); Response.Write(x); 但是,它会一直显示1-####-#-#-##-### 我做错了什么?字符串在C#中是不可变的-调用不会修改原始字符串。它创建新字符串,删除其中的指定字符并返回该字符串。您应该显示此方法调用的结果: Response.W
电话号码
。当显示号码时,我想删除1-
因此,我不想显示1-############
,而是想显示###########
我尝试了以下方法:
string x= Phone_Number;
x.Remove(0,1);
Response.Write(x);
但是,它会一直显示1-####-#-#-##-###
我做错了什么?字符串在C#中是不可变的-调用不会修改原始字符串。它创建新字符串,删除其中的指定字符并返回该字符串。您应该显示此方法调用的结果:
Response.Write(x.Remove(0,2)); // you should remove 2 characters
或
您需要将结果设置为x。字符串在C#中是不可变的:
另一种方法是:
if (x.StartsWith("1-")
x = x.Remove(0,2);
如果您获得的电话号码没有前导的1-
,则此功能的好处是什么也不做
感谢commenter指出我的错误。正如您所见,从字符串中删除子字符串的方法太多了。您还可以使用正则表达式,以防将来要删除的值具有复杂模式 var x=电话号码
var result=Regex.Match(x,@“^(1-?(.*)$”)。组[2]。值 警告:如果电话号码再次出现
1-
,该怎么办?
x = x.Remove(0,1)
if (x.StartsWith("1-")
x = x.Remove(0,2);