使用substring() 方法返回字符串的子字符串。详细解析如下:
1、语法:
(1)public String substring(int beginIndex)。
(2)public String substring(int beginIndex, int endIndex)。
2、参数:
(1)beginIndex -- 起始索引(包括), 索引从 0 开始。
(2)endIndex -- 结束索引(不包括)。
3、返回值:
返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex 处开始,一直到索引 endIndex - 1处的字符。因此,该子字符串的长度为 endIndex-beginIndex。
4、substring函数存在的抛出错误:
IndexOutOfBoundsException - 如果 beginIndex 为负,或 endIndex 大于此 String 对象的长度,或 beginIndex 大于 endIndex。
5、实例代码如下:
以上程序执行结果为:
扩展资料:
通过split()+正则表达式来进行字符串截取:
将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时。
例如:
运行结果:
参考资料:
--substring
通常使用subString方法进行字符串的截取
特殊情况, 使用splite方法,对字符串进行切割
但都不会影响到原始的字符串的数据
参考代码
public class Test {public static void main(String[] args) {
String str= "abc苹果def";//下标和数组 一样, 也是从0开始
String str1 = strsubstring(3, 5);//下标包含3,不包含5 也就是下标是3~4
String str2=strsubstring(6);//从下标6 开始,直到结束
String[] ss = strsplit("苹果");//使用字符串切割
String str3 = ss[0];//abc
String str4 = ss[1];//def
Systemoutprintln(str);//原始字符串,不会改变
Systemoutprintln(str1);
Systemoutprintln(str2);
Systemoutprintln(str3);
Systemoutprintln(str4);
}
}
输出
abc苹果def苹果
ef
abc
def
是一个函数,这个是Java本身写好的一个函数,程序员直接调用就可以。String subString就是定义一个string型的字符串,subString=numbersubString(i,i+1);这句就是截取number字符串。
classMain{);
staticpublic);
voidmain(String[]str));
{Strings="1234567\n890\n110A";String[]array=s.split("[\\t\\n]+");
for(int i=0;i<arraylength;i++)Systemoutprintln(array[i]));
}//main);
}//class);
字符串主要用于编程,概念说明、函数解释、用法详述见正文,这里补充一点:字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的,如s=“abcdefghij”,则s[1]=“a”,s[9]="j",而字符串的零位正是它的长度。
函数应用
1、连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn
例:concat(‘11’,'aa’)='11aa’;
2、求子串。 Copy(s,I,I) 从字符串s中截取第I个字符开始后的长度为l的子串。
例:copy(‘abdag’,2,3)=’bda’
3、删除子串。过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长度为l的子串。
例:s:=’abcde’;delete(s,2,3);结果s:=’ae’
-字符串
String a="aaa bbb ccc ddd eee ";
String b=asubstring(0,3);
String c=asubstring(4,7);
String d=asubstring(8,11);
String e=asubstring(12,15);
String f=asubstring(16,19);
Systemoutprintln(b);
Systemoutprintln(c);
Systemoutprintln(d);
Systemoutprintln(e);
Systemoutprintln(f);
——————————————————————————
像这种有特定格式的可以用split更方便
String a="aaa bbb ccc ddd eee ";
String [] b=asplit(" ");
for (int i = 0; i < blength; i++) {
Systemoutprintln(b[i]);
}
已空格为分隔符截取出一个数组
不准可追问,望采纳
可以直接调用subString()方法来进行字符串截取。
public String substring(int beginIndex,int endIndex),返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex 处开始,直到索引 endIndex
- 1 处的字符。因此,该子字符串的长度为 endIndex-beginIndex。
扩展资料:
截取后面的字符串也是调用substring()方法,只是括号里面参数不一样
public String substring(int beginIndex)返回一个新的字符串,它是此字符串的一个子字符串。该子字符串从指定索引处的字符开始,直到此字符串末尾。
示例:
"unhappy"substring(2) returns "happy"
"Harbison"substring(3) returns "bison"
参考资料:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)