避免截断字符串的前导加号

本文关键字:字符串 | 更新日期: 2023-09-27 18:03:00

DataTable dt = {a DataTable containing one column of strings in this format: "+12394837444"}

所有成员都有前导加号,这个数据表由这些成员组成,只有一列。我想从这个表中获取一个完整形式的字符串:

for (int j = 0; j < dt.Rows.Count; j++)
                {
                    System.Data.DataRow drow = dt.Rows[j];
                    string total = drow.ItemArray.GetValue(0).ToString();
                }
if(total.StartsWith("+"))
   {
    // we are ok
   }
else
   {
    string edited = "+" + total;
   }

,但这会截断前导加号,并且由于这些不是双精度或数字类型,因此ToString()没有重载来定义不删除的加号。有加号是必要的,但ItemArray.Getvalue(). tostring()总是删除它。如何防止这种情况的发生,并获得前导符号呢?

避免截断字符串的前导加号

要么将其存储为带有前导+的字符串,要么像这样添加:

string total = "+" + drow.ItemArray.GetValue(0);

编辑

不确定类型是什么,但是可以检查+号是否已经在那里了:

string total = drow.ItemArray.GetValue(0).ToString();
if (total.IndexOf('+') != 0) {
    total = "+" + total;
}