/// <summary>
/// 判断 oriStr 里是否包含 newStr 中的某个数值,不包含则加进去。
/// oriStr 、newStr 存储如 "1,23,34,55"
/// </summary>
public static string ComcatDistStringArr(string oriStr, string newStr)
{
if (ArgumentValidation.IsNotEmptyString(newStr))
{
string retStr = String.Empty;
string[] ret = new string[0];
if (oriStr != null)
{
ret = oriStr.Split();
retStr = oriStr;
}
string[] ci = newStr.Split(SplitWord);
for (int i = 0; i < ci.Length; i++)
{
bool find = false;
for (int j = 0; j < ret.Length; j++)
{
if (ci[i] == ret[j])
{
find = true;
break;
}
}
if (!find)
retStr += new string(Utility.SplitWord) + ci[i];
}
if (retStr.Length > 0)
{
retStr = retStr.Trim(Utility.SplitWord);
retStr = retStr.TrimEnd(Utility.SplitWord);
return retStr;
}
}
return oriStr;
}
/// <summary>
/// 在基础功能中再加上删除由 delStr 指定的某些数值
/// </summary>
/// <param name="oriStr">原来的字符串数组</param>
/// <param name="addStr">待添加的字符串数组</param>
/// <param name="delStr">待删除的字符串数组</param>
/// <returns></returns>
public static string ComcatDistStringArr(string oriStr, string addStr, string delStr)
{
string tmpStr = ComcatDistStringArr(oriStr, addStr);
if (ArgumentValidation.IsNotEmptyString(tmpStr) && ArgumentValidation.IsNotEmptyString(delStr))
{
string retStr = String.Empty;
string[] ret = new string[0];
ret = tmpStr.Split(SplitWord);
string[] ci = delStr.Split(SplitWord);
for (int i = 0; i < ret.Length; i++)
{
bool find = false;
for (int j = 0; j < ci.Length; j++)
{
if (ci[j] == ret[i])
{
find = true;
break;
}
}
if (!find)
retStr += ret[i] + new string(SplitWord);
}
return retStr.TrimEnd(SplitWord);
}
return tmpStr;
}
/// <summary>
/// 检测某个值是否在指定的字符串中存在。
/// </summary>
/// <param name="chkStr">待检测值</param>
/// <param name="strArr">指定的字符串</param>
/// <returns></returns>
public static bool ExistInStringArr(string chkStr, string strArr)
{
if (ArgumentValidation.IsNotEmptyString(chkStr) && ArgumentValidation.IsNotEmptyString(strArr))
{
bool find = false;
string[] ci = strArr.Split(SplitWord);
for (int i = 0; i < ci.Length; i++)
{
if (ci[i] == chkStr)
{
find = true;
break;
}
}
return find;
}
return false;
}
public static void Sort(IList obj)
{
if (obj == null)
{
return;
}
Object tmp;
for (int i = 0; i < obj.Count; i++)
{
//切记,每次都要从第一个开始比。最后的不用再比。
for (int j = 0; j < obj.Count - i - 1; j++)
{
//对邻接的元素进行比较,如果后面的小,就交换
if (((IComparer)obj[j]).Compare(obj[j], (obj[j + 1])) > 0)
{
tmp = obj[j];
obj[j] = obj[j + 1];
obj[j + 1] = tmp;
}
}
}
}
public static string CleanString(string inputString, int maxLength)
{
StringBuilder retVal = new StringBuilder();
if ((inputString != null) && (inputString != String.Empty))
{
inputString = inputString.Trim();
if (inputString.Length > maxLength)
inputString = inputString.Substring(0, maxLength);
for (int i = 0; i < inputString.Length; i++)
{
switch (inputString[i])
{
case '"':
retVal.Append(""");
break;
case '<':
retVal.Append("<");
break;
case '>':
retVal.Append(">");
break;
default:
retVal.Append(inputString[i]);
break;
}
}
retVal.Replace("'", " ");
}
return retVal.ToString();
}