[英]String trim. to remove last characters from the end
有一點點問題。 我有這些弦
[14]: "Care_CAR_3RD_DAY_201309177438417"
[15]: "Care_201309177438417"
[16]: "New_Care_201309177438417"
[17]: "SMS_New_Care_20130917"
這是每天生成的文件列表,我想在末尾刪除編號,以便能夠將每個文件名與db中的記錄進行比較以執行特定操作。 此外,末尾的數字不一定總是相同的大小。 結果將是
[14]: "Care_CAR_3RD_DAY"
[15]: "Care"
[16]: "New_Care"
[17]: "SMS_New_Care"
string test = "Care_CAR_3RD_DAY_201309177438417";
test = test.Remove(test.LastIndexOf('_'));
如果不確定是否有“ _”,則可以進行檢查:
test = test.IndexOf('_') > -1 ? test.Remove(test.LastIndexOf('_')) : test;
盡管jyparask回答是有效的,但如果輸入類似於Care_CAR_3RD_DAY201309177438417 ,它將失敗。
安全的方法是
string test = "Care_CAR_3RD_DAY_201309177438417";
test = test.TrimEnd(new char[]{'_','0','1','2','3','4','5','6','7','8','9'});
//output Care_CAR_3RD_DAY
test = "Care_CAR_3RD_DAY201309177438417";
test = test.TrimEnd(new char[]{'_','0','1','2','3','4','5','6','7','8','9'});
//output Care_CAR_3RD_DAY
您可以使用正則表達式。
var newString = Regex.Replace(inputString, @"\d*", string.empty);
Input: Care_CAR_3RD_DAY_201309177438417
Result: Care_CAR_3RD_DAY_
這就是我設法解決的方法
fname.Replace(fname.Split(' '). Last( ),“”)。TrimEnd(' ')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.