| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1215 人关注过本帖
标题:判断和字符串截取的问题!!在线的大侠帮忙看看啊
只看楼主 加入收藏
云间小鸟
Rank: 1
来 自:四川广安
等 级:新手上路
帖 子:28
专家分:6
注 册:2011-5-24
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:4 
判断和字符串截取的问题!!在线的大侠帮忙看看啊


if ("/" != arr.Substring(2,arr.IndexOf("/")+1))
{
    …………
}

这句判断 加截取 再加读取位数的代码有问题!!
未处理的异常:  System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内
的位置。
参数名: length
   在 System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length,
Boolean fAlwaysCopy)

将代码改为:if ("/" != arr.Substring(2,3))
{
    …………
}

未处理的异常:  System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内
的位置。
参数名: length
   在 System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length,
Boolean fAlwaysCopy)
在线的大侠们帮忙看下啊!!!


[ 本帖最后由 云间小鸟 于 2012-1-10 00:26 编辑 ]
搜索更多相关主题的帖子: 在线的 字符串 
2012-01-10 00:21
winners
Rank: 6Rank: 6
来 自:济南
等 级:侠之大者
威 望:1
帖 子:105
专家分:416
注 册:2009-3-20
收藏
得分:3 
明显是你截取字符串的时候超出其本身的长度了
2012-01-10 07:50
xydddaxia
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:33
帖 子:466
专家分:2307
注 册:2009-3-20
收藏
得分:2 
if ("/" != arr.Substring(2,1))

站在春哥的肩膀上
2012-01-10 09:01
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:2 
程序代码:
        /// <summary>
        /// 从字符串的指定位置截取指定长度的子字符串
        /// </summary>
        /// <param name="str">原字符串</param>
        /// <param name="startIndex">子字符串的起始位置</param>
        /// <param name="length">子字符串的长度</param>
        /// <param name="showEllipsis">是否显示省略号</param>
        /// <returns>子字符串</returns>
        public static string CutString(string str, int startIndex, int length, bool showEllipsis)
        {
            if (startIndex >= 0)
            {
                if (length < 0)
                {
                    length = length*-1;
                    if (startIndex - length < 0)
                    {
                        length = startIndex;
                        startIndex = 0;
                    }
                    else
                        startIndex = startIndex - length;
                }

                if (startIndex > str.Length)
                    return "";
            }
            else
            {
                if (length < 0)
                    return "";
                else
                {
                    if (length + startIndex > 0)
                    {
                        length = length + startIndex;
                        startIndex = 0;
                    }
                    else
                        return "";
                }
            }

            if (str.Length - startIndex < length)
            {
                length = str.Length - startIndex;
            }
            string elli = string.Empty;
            if (length < str.Length && showEllipsis)
            {
                elli = "";
            }

            return str.Substring(startIndex, length) + elli;
        }

外面直接调用

飘过~~
2012-01-10 09:44
as0
Rank: 2
等 级:论坛游民
帖 子:12
专家分:59
注 册:2010-9-16
收藏
得分:3 
思路:
1--> 首先你要判断是否有你要截取的字符串
    正则 或者 indexOf  
2--> 有的话 看看 长度是否正确
2012-01-11 13:06
快速回复:判断和字符串截取的问题!!在线的大侠帮忙看看啊
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030217 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved