您的位置:首页 > 其它

字符串数组的一些处理方法总结

2007-06-06 14:02 696 查看
一个小项目中用到大量的字符串数组处理方法,包括增加、删除、筛选、替换、交集、并集等等方法。因为大都是使用数组的原型,效率当然是比较高的。现总结一下,希望能给用到的朋友带来一点方便。如果哪位朋友有更好的方法也希望能提出来跟大家分享,谢谢!
注:1、因项目需要,这些方法中大多返回的都是一个字符串,用分隔符隔开。
2、其中有些方法可以用正则表达式来实现(如删除、替换),效率会更高,但正好觉得这是一个系列,就用数组的方法实现了。
3、因阅读方便,下面使用了折叠的方式,但不方便拷贝,需要的朋友下载该文的源文件
/// <summary>
/// 判断第一个数组是否包含第二个数组的所有元素
/// </summary>
/// <param name="item1"></param>
/// <param name="item2"></param>
/// <returns></returns>

public static bool ContainsItem(string[] item1, string[] item2)
public static string DistinctItem(string[] item, string separator)

/// <summary>
/// 判断两个数组是否相等
/// </summary>
/// <param name="item1"></param>
/// <param name="item2"></param>
/// <returns></returns>

public static bool EqualItem(string[] item1, string[] item2)

/// <summary>
/// 判断一个字符串数组是否包含某个值
/// </summary>
/// <param name="item"></param>
/// <param name="sv"></param>
/// <returns></returns>

public static bool HasValue(string[] item, string sv)

/// <summary>
/// 在字符串数组中去掉一个值
/// </summary>
/// <param name="item"></param>
/// <param name="sv"></param>
/// <param name="separator"></param>
/// <returns>返回字符串的形式,separator分割符</returns>

public static string RemoveValue(string[] item, string sv, string separator)

/// <summary>
/// 在字符串数组中添加一个值
/// </summary>
/// <param name="item"></param>
/// <param name="sv"></param>
/// <param name="separator"></param>
/// <returns>返回字符串的形式,separator分割符</returns>

public static string AddValue(string[] item, string sv, string separator)

/// <summary>
/// 替换一个字符串数组中的某个值
/// </summary>
/// <param name="item"></param>
/// <param name="oldSv"></param>
/// <param name="newSv"></param>
/// <param name="separator"></param>
/// <returns>返回字符串的形式,separator分割符</returns>

public static string ReplaceValue(string[] item, string oldSv, string newSv, string separator)
private static string UnionValue(string[] item1, string[] item2, string separator)

/// <summary>
/// 取得两个字符串数组的差集,返回存在与item1而不存在于item2的值
/// </summary>
/// <param name="item1"></param>
/// <param name="item2"></param>
/// <returns>返回字符串的形式,separator分割符</returns>

public static string DiffValue(string[] item1, string[]item2, string separator)
{
StringBuilder sb = new StringBuilder();
foreach(string s in item1)
{
if(HasValue(item2, s))
{
continue;
}
sb.Append(s);
sb.Append(separator);
}
string returnstr = sb.ToString();
returnstr = (returnstr.EndsWith(separator)) ? returnstr.Substring(0, returnstr.Length -1) : returnstr;
return returnstr;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: