[转贴]字符串数组的一些处理方法总结

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


public static bool ContainsItem(string[] item1, string[] item2)
{
 
foreach(string s in item2)
 
{
  
if(!HasValue(item1, s))
  
{
   
return false;
  }

 }

 
return true;
}


/// <summary>
/// 剔除字符串数组中的重复元素,超过100,000条数据,效率可能会低
/// </summary>
/// <param name="item"></param>
/// <param name="separator"></param>
/// <returns></returns>


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


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


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


/// <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)
{
 
if(item == nullreturn sv;
 StringBuilder sb 
= new StringBuilder();
 
foreach(string s in item)
 
{
  sb.Append(s);
  sb.Append(separator);
 }

 sb.Append(sv);
 
return sb.ToString();
}


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


/// <summary>
/// 取两个字符串数组的并集
/// </summary>
/// <param name="item1"></param>
/// <param name="item2"></param>
/// <param name="separator"></param>
/// <returns>返回字符串的形式,separator分割符</returns>


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

 
posted @ 2007-09-29 15:38  roboth  阅读(782)  评论(0)    收藏  举报