如何从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); }