.net字符串操作系列函数

.net自带的string的indexof什么的,总是需要指定开始字符和要操作的字符长度,我用起来很不舒服,自己封了几个函数。

统一把输入参数改为开始字符和结束字符。

没有具体测,可能某些边界情况下有问题

1,正向查找

        /// <summary>
        /// 查找字符串
        /// </summary>
        /// <param name="find">字符串</param>
        /// <param name="key">要查找的串</param>
        /// <param name="startIndex">开始字符</param>
        /// <param name="endIndex"></param>
        /// <returns></returns>
        static public int IndexOf(string find, string key, int startIndex = 0, int endIndex = -1)
        {
            if (endIndex == -1)
            {
                endIndex = find.Length - startIndex;
            }
            return find.IndexOf(key, startIndex, endIndex, StringComparison.OrdinalIgnoreCase);
        }

2,反向查找

        /// <summary>
        /// 反向查找字符串
        /// </summary>
        /// <param name="find">字符串</param>
        /// <param name="key">要查找的串</param>
        /// <param name="startIndex">开始字符</param>
        /// <param name="endIndex">结束字符</param>
        /// <returns></returns>
        static public int LastIndexOf(string find, string key, int startIndex = 0, int endIndex = -1)
        {
            if (endIndex == -1)
            {
                endIndex = find.Length-1;
            }

            return find.LastIndexOf(key, endIndex, endIndex-startIndex, StringComparison.OrdinalIgnoreCase);
        }

3,截取字符串

        /// <summary>
        /// 截取字符串 
        /// </summary>
        /// <param name="origin">字符串</param>
        /// <param name="startIndex">开始字符</param>
        /// <param name="endIndex">结束字符</param>
        /// <returns></returns>
        static public string CutString(string origin, int startIndex, int endIndex = -1)
        {
            if (endIndex == -1)
            {
                endIndex = origin.Length - 1;
            }
            return origin.Substring(startIndex, endIndex - startIndex + 1);
        }

4,删除字符串

        static public string RemoveString(string origin, int startIndex, int endIndex)
        {
            return origin.Remove(startIndex, endIndex - startIndex + 1);
        }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值