A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© b_boywindy 中级黑马   /  2012-2-17 09:15  /  6714 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

越详细越好  谢谢 大家 !!!

该贴已经同步到 b_boywindy的微博

评分

参与人数 1技术分 +1 收起 理由
唐秀启 + 1 兄弟想要详细请查看JDK,建议别这样问问题.

查看全部评分

12 个回复

正序浏览
   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。

评分

参与人数 1技术分 +1 收起 理由
admin + 1 答题加分!

查看全部评分

回复 使用道具 举报
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-17 12:49:38
10#
查阅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));--------""

评分

参与人数 1技术分 +1 收起 理由
admin + 1 答题加分!

查看全部评分

回复 使用道具 举报
去api查阅,在详细不过了,学会查阅api才是学java的王道!
回复 使用道具 举报
成果 黑马帝 2012-2-17 10:22:47
8#
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

评分

参与人数 1技术分 +1 收起 理由
admin + 1 答题加分!

查看全部评分

回复 使用道具 举报
张开开 黑马帝 2012-2-17 10:15:06
7#
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);
        }
}

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
谢谢 大家的帮助 。
回复 使用道具 举报
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 对象的长度。

评分

参与人数 1技术分 +2 收起 理由
admin + 2

查看全部评分

回复 使用道具 举报
str=str.substring(int beginIndex);截取掉str从首字母起长度为beginIndex的字符串,将剩余字符串赋值给str;

   str=str.substring(int beginIndex,int endIndex);截取str中从beginIndex开始至endIndex结束时的字符串,并将其赋值给str;
回复 使用道具 举报
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 - 结束索引(不包括)。
返回:
指定的子字符串。

评分

参与人数 1技术分 +1 收起 理由
唐秀启 + 1

查看全部评分

回复 使用道具 举报
  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。

评分

参与人数 1技术分 +1 收起 理由
唐秀启 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马