從字符串
回答
閱讀最後3點從字符串中的字符[開始問問題]
您可以使用string.Substring,並給它的起始索引,它會得到從子給定索引,直到年底開始。
myString.Substring(str.Length-3)
檢索從這個實例子。子字符串從 指定的字符位置開始。 MSDN
編輯,爲更新後
從字符串刪除最後3個字符[更新問題]
到最後有3個字符的字符串中刪除您可以使用string.Substring(Int32, Int32),並給它開始索引0
和結束索引三個小於那麼字符串長度。它會在最後三個字符之前得到子字符串。
myString = myString.Substring(0, str.Length-3);
String.Substring Method (Int32, Int32)
檢索從這個實例子。子字符串起始於 指定的字符位置並具有指定的長度。
您也可以使用String.Remove(Int32)方法通過傳遞開始指數長度,以便除去最後三個字符 - 3,它會從這個角度刪除結束的字符串。
myString = myString.Remove(myString.Length-3)
返回其當前 實例中的所有角色,開始在指定的位置,並通過 最後一個位置繼續,已被刪除一個新的字符串
myString = myString.Remove(myString.Length - 3, 3);
myString.Remove(myString.Length-3);
'myString = myString.Remove(myString.Length - 3)'即是。 – 2017-06-09 20:42:54
str= str.Remove(str.Length - 3);
您可以使用String.Remove
從指定位置刪除到字符串末尾。
myString = myString.Remove(myString.Length - 3);
string myString = "abcdxxx";
if (myString.Length<3)
return;
string newString=myString.Remove(myString.Length - 3, 3);
string test = "abcdxxx";
test = test.Remove(test.Length - 3);
//output : abcd
我經歷了所有這些閱讀,但想要的東西多一點優雅。
string.Concat("hello".Reverse().Skip(3).Reverse());
輸出:
"he"
這個是非常「有創意」的,因爲它不需要字符串的長度,但是反向操作可能更昂貴。 – Casper 2017-04-07 09:12:13
反轉字符串肯定比計算其字符更昂貴。需要構造一個全新的字符串,然後將原始字符串複製到它,然後原始字符串需要被垃圾回收。 – 2017-04-24 16:26:41
@MattGregory字符串是不可變的:Remove,Substring,任何字符串函數都會生成一個新的字符串。覆蓋原始指針始終會導致垃圾回收。儘管如此,由於'Enumerable.Reverse'將字符串緩存到'char []'中,然後緩存到一個新的'char []'中,並且生成一個新的'string'(內部是另一個'炭[]')。一個更好的方法是'new string(「hello」.Reverse()。Skip(3))',或者直接編寫自己的使用Substring的字符串擴展函數'AllBut(this string in,int i)'。 – Wolfzoon 2018-01-11 10:38:36
從字符串中刪除最後一個字符
TXTB_DateofReiumbursement.Text = (gvFinance.SelectedRow.FindControl("lblDate_of_Reimbursement") as Label).Text.Remove(10)
.Text.Remove(10)
//以前只是從字符串的結尾去掉了一定數目的字符刪除從索引10開始的文本結束
讀取最後3個字符=一件事,刪除最後3個字符=另一個。哪一個? – 2013-03-22 07:40:53