如何从string中删除前10个字符?

如何忽略string的前10个字符?

input:

str = "hello world!"; 

输出:

 d! 
 str = "hello world!"; str.Substring(10, str.Length-10) 

你将需要执行长度检查,否则这将抛出一个错误

str = str.Remove(0,10); 删除前10个字符

要么

str = str.Substring(10); 创build从第11个字符开始到string结尾的子string。

为了您的目的,他们应该一致地工作。

子串可能是你想要的,正如其他人指出的那样。 但只是为了增加另一个选项…

 string result = string.Join(string.Empty, str.Skip(10)); 

你甚至不需要检查这个长度! :)如果less于10个字符,你会得到一个空string。

Substring有一个名为startIndex的参数。 根据你想要开始的索引来设置它。

使用子串方法。

 string s = "hello world"; s=s.Substring(10, s.Length-10); 

您可以使用方法Substring方法,该方法使用一个参数,即从其开始的索引。

在我的代码下面我处理的情况是长度小于你想要的开始指数,当长度为零。

 string s = "hello world!"; s = s.Substring(Math.Max(0, Math.Min(10, s.Length - 1))); 

对于:

 var str = "hello world!"; 

要得到没有前10个字符的结果string和空string,如果string长度小于或等于10,可以使用:

 var result = str.Length <= 10 ? "" : str.Substring(10); 

要么

 var result = str.Length <= 10 ? "" : str.Remove(0, 10); 

第一个变体是首选的,因为它只需要一个方法参数。

SubString有两个重载方法:

 public string Substring(int startIndex);//The substring starts at a specified character position and continues to the end of the string. public string Substring(int startIndex, int length);//The substring starts at a specified character position and taking length no of character from the startIndex. 

所以对于这种情况,你可以使用下面的第一种方法:

 var str = "hello world!"; str = str.Substring(10); 

这里的输出是:

 d! 

如果您可以通过检查其长度来应用防御性编码。

不需要在Substring方法中指定长度。 因此:

 string s = hello world; string p = s.Substring(3); 

p将是:

“lo世界”。

如果startIndex小于零或大于此实例的长度,则需要处理的唯一例外是ArgumentOutOfRangeException

您可以使用下面的线删除字符,

: – 首先检查该string是否有足够的字符删除 ,如

  string temp="Hello Stack overflow"; if(temp.Length>10) { string textIWant = temp.Remove(0, 10); }