黑马程序员技术交流社区

标题: java 里 substring 的 用法 ? [打印本页]

作者: b_boywindy    时间: 2012-2-17 09:15
标题: java 里 substring 的 用法 ?
越详细越好  谢谢 大家 !!!

该贴已经同步到 b_boywindy的微博
作者: 吴文华    时间: 2012-2-17 09:17
  substring 方法用于提取字符串中介于两个指定下标之间的字符。

  语法

  stringObject.substring(start,stop)

  参数     描述

  start     必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。

  stop     可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。

  返回值

  一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。

  说明

  substring 方法返回的子串包括 start 处的字符,但不包括 end 处的字符。

  如果 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。

  如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。

  如果 start 或 end 为负数,那么它将被替换为 0。


作者: 彭小芳    时间: 2012-2-17 09:20
public String substring(int beginIndex)返回一个新的字符串,它是此字符串的一个子字符串。该子字符串从指定索引处的字符开始,直到此字符串末尾。
示例:

"unhappy".substring(2) returns "happy"
"Harbison".substring(3) returns "bison"
"emptiness".substring(9) returns "" (an empty string)

参数:
beginIndex - 起始索引(包括)。
返回:
指定的子字符串。


public String substring(int beginIndex,
                        int endIndex)返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex 处开始,直到索引 endIndex - 1 处的字符。因此,该子字符串的长度为 endIndex-beginIndex。
示例:

"hamburger".substring(4, 8) returns "urge"
"smiles".substring(1, 5) returns "mile"

参数:
beginIndex - 起始索引(包括)。
endIndex - 结束索引(不包括)。
返回:
指定的子字符串。
作者: 王涛    时间: 2012-2-17 09:27
str=str.substring(int beginIndex);截取掉str从首字母起长度为beginIndex的字符串,将剩余字符串赋值给str;

   str=str.substring(int beginIndex,int endIndex);截取str中从beginIndex开始至endIndex结束时的字符串,并将其赋值给str;
作者: 黄锦成    时间: 2012-2-17 09:32
public String substring(int beginIndex,int endIndex)返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex 处开始,直到索引 endIndex - 1 处的字符。因此,该子字符串的长度为 endIndex-beginIndex。
示例:
"hamburger".substring(4, 8) returns "urge"
"smiles".substring(1, 5) returns "mile"

参数:
beginIndex - 起始索引(包括)。
endIndex - 结束索引(不包括)。
返回:指定的子字符串。
抛出: IndexOutOfBoundsException - 如果 beginIndex 为负,或 endIndex 大于此 String 对象的长度,或 beginIndex 大于 endIndex。

public String substring(int beginIndex)返回一个新的字符串,它是此字符串的一个子字符串。该子字符串从指定索引处的字符开始,直到此字符串末尾。
示例:
"unhappy".substring(2) returns "happy"
"Harbison".substring(3) returns "bison"
"emptiness".substring(9) returns "" (an empty string)

参数:
beginIndex - 起始索引(包括)。
返回:指定的子字符串。
抛出: IndexOutOfBoundsException - 如果 beginIndex 为负或大于此 String 对象的长度。

作者: b_boywindy    时间: 2012-2-17 09:37
谢谢 大家的帮助 。
作者: 张开开    时间: 2012-2-17 10:15
substring是用于提取字符串中指定范围字符的,其格式有两种,如下:
java中substring的用法

sub1=str.substring(int beginIndex);截取掉str从首字母起长度为beginIndex的字符串,将剩余字符串赋值给str;(注意赋值的是剩余字符)
sub2=str.substring(int beginIndex,int endIndex);截取str中从beginIndex开始至endIndex结束时的字符串,并将其赋值给str;

以下是一段简单的演示程序:
class StringDemo
{
        public static void main(String[] args)
        {
                String str="HelloWorld";
                String sub1=str.substring(0,4);//从底标为0的字符开始,共取四个字符。即:Hell
                String sub2=str.substring(4);//从底标为4的字符开始,取到字符串的结尾,即:oWorld
                System.out.println(sub1);
                System.out.println(sub2);
        }
}


作者: 成果    时间: 2012-2-17 10:22
public String substring(int beginIndex,
                        int endIndex)返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex 处开始,直到索引 endIndex - 1 处的字符。因此,该子字符串的长度为 endIndex-beginIndex。
示例:

"hamburger".substring(4, 8) returns "urge"
"smiles".substring(1, 5) returns "mile"

参数:
beginIndex - 起始索引(包括)。
endIndex - 结束索引(不包括)。
返回:
指定的子字符串。
抛出:
IndexOutOfBoundsException - 如果 beginIndex 为负,或 endIndex 大于此 String 对象的长度,或 beginIndex 大于 endIndex。
不知道就找jdk
作者: 花开~的季节    时间: 2012-2-17 10:30
去api查阅,在详细不过了,学会查阅api才是学java的王道!
作者: 王康    时间: 2012-2-17 12:49
查阅java API
1.substring 方法

  定义和用法

  substring 方法用于提取字符串中介于两个指定下标之间的字符。

  语法

  stringObject.substring(start,stop)

  参数 描述

  start 必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。

  stop 可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。

  返回值

  一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。

  说明

  substring 方法返回的子串包括 start 处的字符,但不包括 end 处的字符。

  如果 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。

  如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。

  如果 start 或 end 为负数,那么它将被替换为 0。

 var str = "0123456789";
  alert(str.substring(0));------------"0123456789"
  alert(str.substring(5));------------"56789"
  alert(str.substring(10));-----------""
  alert(str.substring(12));-----------""
  alert(str.substring(-5));-----------"0123456789"
  alert(str.substring(-10));----------"0123456789"
  alert(str.substring(-12));----------"0123456789"
  alert(str.substring(0,5));----------"01234"
  alert(str.substring(0,10));---------"0123456789"
  alert(str.substring(0,12));---------"0123456789"
  alert(str.substring(2,0));----------"01"
  alert(str.substring(2,2));----------""
  alert(str.substring(2,5));----------"234"
  alert(str.substring(2,12));---------"23456789"
  alert(str.substring(2,-2));---------"01"
  alert(str.substring(-1,5));---------"01234"
  alert(str.substring(-1,-5));--------""

作者: 【专】【属】    时间: 2012-2-19 18:24
对于这个方法,我感觉我们只要记住,包括开始,不包括结束就好了。同是注意一下下标限界的问题就行了。
作者: 陈伟    时间: 2012-2-19 22:54
1.substring 方法

  定义和用法

  substring 方法用于提取字符串中介于两个指定下标之间的字符。

  语法

  stringObject.substring(start,stop)

  参数     描述

  start     必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。

  stop     可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。

  返回值

  一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。

  说明

  substring 方法返回的子串包括 start 处的字符,但不包括 end 处的字符。

  如果 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。

  如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。

  如果 start 或 end 为负数,那么它将被替换为 0。

  2.substr 方法

  定义和用法

  substr 方法用于返回一个从指定位置开始的指定长度的子字符串。

  语法

  stringObject.substr(start [, length ])

  参数    描述

  start   必需。所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。

  length 可选。在返回的子字符串中应包括的字符个数。

  说明

  如果 length 为 0 或负数,将返回一个空字符串。

  如果没有指定该参数,则子字符串将延续到stringObject的最后。


作者: 靖美专    时间: 2012-2-20 13:33
   str=str.substring(int beginIndex);截取掉str从首字母起长度为beginIndex的字符串,将剩余字符串赋值给str;

   str=str.substring(int beginIndex,int endIndex);截取str中从beginIndex开始至endIndex结束时的字符串,并将其赋值给str;

以下是一段演示程序:

public class StringDemo{

public static void main(String agrs[]){

   String str="this is my original string";

   String toDelete=" original";  

   if(str.startsWith(toDelete))

    str=str.substring(toDelete.length());

   else

    if(str.endsWith(toDelete))

     str=str.substring(0, str.length()-toDelete.length());

    else

    {  int index=str.indexOf(toDelete);

     if(index!=-1)

     {  String str1=str.substring(0, index);

      String str2=str.substring(index+toDelete.length());

      str=str1+str2;

     }

     else

      System.out.println("string \""+toDelete+"\" not found");

    }

   System.out.println(str);

}  }
============================

substring
public String substring(int beginIndex,
                        int endIndex)
返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex 处开始,一直到索引 endIndex - 1 处的字符。因此,该子字符串的长度为 endIndex-beginIndex。
示例:

"hamburger".substring(4, 8) returns "urge"
"smiles".substring(1, 5) returns "mile"

参数:
beginIndex - 开始处的索引(包括)。
endIndex - 结束处的索引(不包括)。
返回:
指定的子字符串。
抛出:
IndexOutOfBoundsException - 如果 beginIndex 为负,或 endIndex 大于此 String 对象的长度,或 beginIndex 大于 endIndex。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2