前幾天在項目中遇到一個小問題,因為造成了困擾,且遇到的次數也比較多,所以覺得記錄下來,給今后備用:
1.當字符串以逗號分隔,最后一個可能存在逗號時,可用如下方式解決:
eg:
string name="test1,test2,test3,test4" 或者
string name="test1,test2,test3,test4,"
name.TrimEnd(','); //如果最后一位數為逗號,則去掉最后字符
2.當字符串的最后一個字符確定為逗號,且想去掉最后一個字符時,可用如下方式解決:
a.通過LastIndexOf取得最后一位字符,再Remove掉:eg:
string name="test1,test2,test3,test4,"
name.Remove(name.LastIndexOf(","))
b.通過計算長度,再用subString截取除最后一個字符以外的字符串:eg:
string name="abcd,";
name=name.subString(0,name.length-1); //name.length=5;
name="abcd"
c.通過函數EndsWith來判斷最后一個字符是否為逗號,如果是則移除,eg:
string name= name.EndsWith(",") ? name.Remove(name.Length - 1, 1) : name;
3.字符串以逗號分隔,最后一個可能存在逗號,且字符串中包含空格時,可用如下方式解決:
eg:
string name="test 100, test2 200,test3 300" 或者
string name="test 100, test2 200,test3 300,"
a.name.Join(",", "test 100, test2 200,test3 300,".Split(new char[1] { ',' }, System.StringSplitOptions.RemoveEmptyEntries));
b.name =name.Trim(',', ' '); //從當前對象移除數組中指定的一組字符的所有前導匹配項和尾部匹配項
PS:Trim方法重載,name.Trim()是去掉字符串的前后空格