字符串数组的一些处理方法总结
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;
}
注: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;
}
相关文章推荐
- [转贴]字符串数组的一些处理方法总结
- javascript字符串和数组处理方法总结
- Object-c 字符串处理及建立(包含一些数组的使用等)
- java List转换为字符串并加入分隔符的一些方法总结
- [置顶] js中数组Array和字符串String的属性方法归纳总结
- JS经常使用字符串处理方法总结
- 字符串处理方法总结
- android一些有用的方法,代码,和错误处理总结(持续更新)
- 字符串的处理方法总结
- 程序员面试金典——解题总结: 9.18高难度题 18.8给定一个字符串s和一个包含较短字符串的数组T,设计一个方法,根据T中的每一个较短字符串,对s进行搜索
- 字符串的一些处理方法
- 数组去重,字符串查找最多字符方法总结
- C# 字符串,数组,日期常遇到的处理方法(持续更新)
- C# 字符串,数组,日期常遇到的处理方法(持续更新)
- C# 字符串,数组,日期常遇到的处理方法(持续更新)
- js字符串、数组和数字常用方法总结
- C#中字符串处理的一些自定义方法
- javascript中数组(Array)对象和字符串(String)对象的常用方法总结
- C#字符串数组排序 C#排序算法大全 C#字符串比较方法 一个.NET通用JSON解析/构建类的实现(c#) C#处理Json文件 asp.net使用Jquery+iframe传值问题
- iOS 数组越界处理方法总结