substring截取字符串问题,大家看下!

问题描述

stringstringtemp="AT+CNMI=2,2rrnOKrnAT+CMGF=1rrnOKrnrn+CMT:"8613554943735",,"07/11/15,09:11:23+32",145,36,0,0,"8613800755500",145,3rngjmrn";if(stringtemp.IndexOf("+CMT:")>0)//拆分接收到的短信{string[]result=stringtemp.Split(newstring[]{"+CMT:"},StringSplitOptions.RemoveEmptyEntries);//for(inti=1;i<result.Length;i++)//{intb=result[1].Length;intn=result[1].IndexOf("rn");inti=result[1].LastIndexOf("rn");stringc=result[1].Substring(n,i);拆分字符串result[1],提示索引和长度必须引用该字符串内的位置。B=80n=73i=78在字符串的范围内,怎么还提醒这个呢!

解决方案

解决方案二:
MSDN
解决方案三:
result[1].Substring(n,i)参数i是substring的长度而不是结束的位置应该为result[1].Substring(n,i-n)
解决方案四:
应该是stringc=result[1].Substring(n,i-n);吧?
解决方案五:
Substring(n,i)的意思是从第n个索引位置开始,取i位长度,你看看你的Substring(73,78),从73位开始,取78个字符, 对吗?
解决方案六:
Substring(n,m);n是起始位置,m是要截的字符个数.
解决方案七:
result[1].Substring(n,i-n)楼上说的对
解决方案八:
Substring(n,i)这个是从第n个开始长度为i的字符串
解决方案九:
stringtemp.IndexOf("+CMT:")>0-----------------------------------------IndexOf返回值是从0开始的。如果没返回则是-1!显然你用substring有问题!你可以用正则试试!
解决方案十:
stringtemp.IndexOf("+CMT:")>0-----------------------------------------IndexOf返回值是从0开始的。如果没返回则是-1!显然你用substring有问题!你可以用正则试试!这个应该是判断字符串中是否存在"+CMT:“这个字段吧

时间: 2024-11-02 11:38:13

substring截取字符串问题,大家看下!的相关文章

java substring截取字符串、汉字和字母

1 int i=0; 2 String tempstr=""; 3 for(int j=0;j <str.length();j++) 4 { 5 i=i+String.valueOf(str.charAt(j)).getBytes().length; 6 if(i <=25){ 7 tempstr=tempstr+String.valueOf(str.charAt(j)); 8 } 9 } 10 if(tempstr.length()!=str.length ()) 11

java中subString、split、stringTokenizer三种截取字符串方法的性能比较(转)

  最近在阅读java.lang下的源码,读到String时,突然想起面试的时候曾经被人问过:都知道在大数据量情况下,使用String的split截取字符串效率很低,有想过用其他的方法替代吗?用什么替代?我当时的回答很斩钉截铁:没有. google了一下,发现有2中替代方法,于是在这里我将对这三种方式进行测试. 测试的软件环境为:Windows XP.eclipse.JDK1.6. 测试用例使用类ip形式的字符串,即3位一组,使用"."间隔.数据分别使用:5组.10组.100组.100

JS截取字符串:slice(),substring()和substr()

文章简介:JS提供三个截取字符串的方法,分别是:slice(),substring()和substr(). JS提供三个截取字符串的方法,分别是:slice(),substring()和substr(),它们都可以接受一个或两个参数: 一个参数时,三个方法都表示从参数值所示的开始位置一直截取到字符串末尾. 两个参数时, slice(),第一个参数代表开始位置,第二个参数代表结束位置的下一个位置,截取出来的字符串的长度为第二个参数与第一个参数之间的差;若参数值为负数,则将该值加上字符串长度后转为正

JavaScript截取字符串的Slice、Substring、Substr函数详解和比较

 这篇文章主要介绍了JavaScript截取字符串的Slice.Substring.Substr函数详解和比较,需要的朋友可以参考下 在JavaScript中,提取子字符串主要是通过 Slice.Substring.Substr 三个方法之一.    代码如下:// slice  // 语法: string.slice(start [, stop]) "Good news, everyone!".slice(5,9);  // 'news'   // substring  // 语法:

arraylist-求大神帮看下代码,怎么做才能接收自己输入的字符串进行判断呢?

问题描述 求大神帮看下代码,怎么做才能接收自己输入的字符串进行判断呢? public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.println("请输入你要查询出现单词或字母次数句子"); ArrayList<Object> arrayList = new ArrayList<Object>(); String f = s.nextLine()

JavaScript字符串对象substring方法入门实例(用于截取字符串)_基础知识

JavaScript substring 方法 substring 方法用于通过指定开始和结束位置来截取字符串并返回截取部分字符串.其语法如下: 复制代码 代码如下: str_object.substring(start, end) 参数 说明 str_object 要操作的字符串(对象) start 必需.开始截取的位置,非负整数 end 可选.字符串截取结束的位置,非负整数:如果省略,则至字符串结束为止 提示:如果参数 start 与 end 相等,那么该方法返回的就是一个空串.如果 sta

xml-XSLT 实现字符串的连接,请大神看下

问题描述 XSLT 实现字符串的连接,请大神看下 <data> <field name='id'>123</field> <field name='id'>abc</field> </data> <data> <field name='id'>123|abc</field> </data> 需求:就是把相同节点,相同属性的值,连接成一个字符串,并用|分隔符隔开. 解决方案 <?xm

深入SQL截取字符串(substring与patindex)的详解_MsSql

首先学习两个函数1.substring  返回字符.binary.text 或 image 表达式的一部分.基本语法:SUBSTRING ( expression , start , length ) expression:字符串.二进制字符串.text.image.列或包含列的表达式start:整数,指定子串的开始位置      注:SQL中"1"表示字符串中的第一个字符,而.NET中"0"表示第一个字符length:整数,指定子串的长度(要返回的字符数或字节数)

深入SQL截取字符串(substring与patindex)的详解

首先学习两个函数1.substring  返回字符.binary.text 或 image 表达式的一部分.基本语法:SUBSTRING ( expression , start , length ) expression:字符串.二进制字符串.text.image.列或包含列的表达式start:整数,指定子串的开始位置      注:SQL中"1"表示字符串中的第一个字符,而.NET中"0"表示第一个字符length:整数,指定子串的长度(要返回的字符数或字节数)