subString 知识

本文介绍了在多种编程语言中如何使用substring方法来提取字符串的子串。覆盖了Java、C#、VB及JavaScript等语言中substring函数的不同用法,包括单参数与双参数的情况,并通过实例展示了具体的使用方法。

substring

  substring
  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 对象的长度。
  --------------------------------------------------------------------------------
  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。
  -----------------------------------------------------以下为rongew更新--------------------------------------------
  C#中 substring() 有两个重载函数
  substring(int a) 用法同上
  substring(int a,int b) b参数应该为截取后的字符串长度
  上面string得用法不知是针对哪种语法
  针对的是c#
  --------------------------------------------------------
  在VB中,如上的substring用法是正确的
  -----------------------------------------------------以下为crazyghost_von更新--------------------------------------------
  以上函数的用法在JavaScript中也是正确的。
  -----------------------------------------------------------------------------------------------------------------------------------
  下面是在javascript中的用法.
  在JS中, 函数声明: stringObject.substring(start,stop)
  start是在原字符串检索的开始位置,stop是检索的终止位置,返回结果中不包括stop所指字符.
  例:
  <script type="text/javascript">
  var str="Hello world!"
  document.write(str.substring(1,3));
  </script>
  上面返回字符串:"el";
  str.substring(1,1) //返回空;
  str.substring(1) //返回"ello world";
  还有此函数中会出现奇怪的现象,当出现str.substring(5,0);
  这又是怎么回事,不过返回的是"hello",
  str.substring(5,1) //返回"ello",截去了第一位,返回余下的.
  可见substring(start,end),可以有不同的说明,即start可以是要返回的长度,end是所要去掉的多少个字符(从首位开始).
  在JS中,substr(start,length),用得较方便.
  -----------------------------------------------------------------------------------------------------------------------------
  
<think>好的,用户想了解TypeScript中的substring方法的使用说明。首先,我需要确认TypeScript的字符串处理方法是否和JavaScript一致,因为TypeScript是JavaScript的超集,通常这些方法都是相同的。substringJavaScript中的标准方法,所以在TypeScript中的用法应该是一样的。 接下来,我需要回忆substring方法的具体参数和用法。substring方法接受两个参数:起始索引和结束索引。它返回从起始索引到结束索引之间的子字符串,不包括结束索引处的字符。如果只提供一个参数,则从该索引提取到字符串末尾。要注意的是,起始索引必须小于结束索引,否则两者会被交换。此外,负数参数会被当作0处理。 然后,我需要检查用户提供的引用内容是否有相关的信息。查看引用[3],用户提到了indexOf方法,但并没有直接提到substring。不过,这说明用户对字符串方法感兴趣,可能需要更全面的解释。需要确保在回答中涵盖基本用法、参数说明、示例代码以及注意事项。 用户可能还需要知道substring和slice的区别,这是常见的混淆点。虽然问题中没有直接提到,但作为补充信息可能会有帮助。因此,在回答中可以加入两者的对比,比如处理负数参数时的不同行为。 另外,用户可能需要实际的代码示例来理解如何使用substring。因此,提供几个不同用法的例子,包括不同参数情况下的结果,能帮助用户更好地掌握。例如,展示起始和结束索引的使用,只提供起始索引的情况,以及参数交换的情况。 还需要注意TypeScript中的类型安全,但substring方法本身是字符串的方法,参数应为数字类型。如果用户传入其他类型,TypeScript会报错,这可能涉及到类型断言,如引用[1]中提到的。不过用户的问题主要集中在substring的使用,所以可能不需要深入讨论类型断言,除非有特殊情况。 最后,总结substring的常见用途,比如提取特定部分的字符串,处理用户输入等,让用户了解实际应用场景。同时,列出相关问题,帮助用户扩展知识,比如比较substr和slice,或者处理Unicode字符的情况。</think>### TypeScript substring方法使用说明 TypeScript中的`substring()`方法与JavaScript完全兼容,用于提取字符串的指定区间子字符串。其语法为: $$str.substring(startIndex[, endIndex])$$ 其中`startIndex`为起始位置(包含),`endIndex`为结束位置(不包含)。参数特性如下: 1. **基本用法** ```typescript const str: string = "TypeScript"; console.log(str.substring(2, 5)); // 输出 "peS"(索引2到4) console.log(str.substring(4)); // 输出 "Script"(索引4到末尾) ``` 2. **参数特性** - 自动交换参数:若`startIndex > endIndex`,自动交换两者 ```typescript console.log(str.substring(5, 2)); // 等价于substring(2,5) ``` - 负数处理:负数参数会被视为0 ```typescript console.log(str.substring(-3, 4)); // 输出 "Type" ``` 3. **与slice()的区别** ```typescript console.log("Demo".substring(2, -1)); // "De"(负数视为0) console.log("Demo".slice(2, -1)); // "m"(负数从末尾计算) ``` 4. **类型安全** TypeScript会强制校验参数类型: ```typescript // 错误示例:参数必须是number类型 str.substring("2" as any); // 类型断言绕过校验(不推荐)[^1] ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值