測試字符串:請幫我刪除任何字符串的最後三個字符!
the%20matrix%20
如何刪除最後三個字符?使用此代碼會導致索引異常:
y = y.Substring(y.Length - 4, y.Length - 1);
測試字符串:請幫我刪除任何字符串的最後三個字符!
the%20matrix%20
如何刪除最後三個字符?使用此代碼會導致索引異常:
y = y.Substring(y.Length - 4, y.Length - 1);
看來這不是你真正的問題;如果要刪除 「%20」,你應該使用:
string test = "the%20matrix%20";
string clean = HttpUtility.UrlDecode(test);
if (clean.Length > 2) // if you still want to strip last chars...
clean = clean.Substring(0, clean.Length - 3);
您需要檢查該字符串是否至少有3個字符長。
if (y.Length > 2)
{
}
正如其他人所說的Substring版本你想要的參數是startIndex
和length
。
雖然你想用1或2個字符串做什麼?
你想
y.Substring(0, y.Length-4)
如果你想刪除的最後三個字符,你需要你的子字符串方法的第一個參數是零。
這個問題的答案是錯的,太 - 這是一個正確的問題,但他會得到一切,但最後一個字符... – tanascius 2009-10-23 12:34:26
正如dalovega說,你需要字符串的第一個參數爲0,第二長度 - 3.作爲一種替代方案:
if(y.Length >= 3)
{
y = y.Remove(y.Length - 3)
}
,因爲他說:「任何字符串」這似乎很好地工作,不需要做UrlDecoding。 – 2009-10-23 12:44:31
好點 - 很好看! – 2009-10-23 12:48:45
string.Remove(string.LastIndexOf( 「stringTo」));
這不完全是「任何」字符串。 – 2013-02-14 11:33:27
我從搜索中找到這篇文章,我正在尋找。我有一個使用字符串生成器構建的分隔符,並且想要刪除最後一個分隔符。
var delim = "{somedelimiter}";
var sb = new StringBuilder();
//concat the values into one string
foreach (var val in values)
{
sb.Append(val);
sb.Append(delim);
}
var finalValue = sb.ToString();
finalValue = finalValue.Remove(finalValue.Length - delim.Length);
+1教給我一些我不知道的東西(UrlDecode),並且給出了最有可能成爲真正問題的解決方案。 – 2009-10-23 12:41:25