讲解substr函数

devtools/2025/1/1 23:05:53/

substr

  • JavaScript 中的 `substr`
    • 语法
    • 示例
    • 注意
  • PHP 中的 `substr`
    • 语法
    • 示例
  • Python 中的等价方法
    • 语法
    • 示例
  • 其他语言
    • Java
  • 补充

substr 是编程中用于截取字符串的一个方法或函数,其功能是从一个字符串中提取出一部分子字符串。不同的编程语言中,这个功能的实现方式也会有不同。在这里我会以几种常见的编程语言为例讲解其使用。


JavaScript 中的 substr

在 JavaScript 中,substr 方法用于从字符串的指定位置开始,提取一定长度的子字符串。

语法

str.substr(start, length)
  • start: 截取开始的位置(索引值,从 0 开始)。
    • 如果 start 是负数,表示从字符串末尾算起的位置。
  • length: 要截取的字符数量(可选)。如果未指定,则一直截取到字符串末尾。

示例

let str = "Hello, world!";
console.log(str.substr(0, 5)); // 输出 "Hello"
console.log(str.substr(7, 5)); // 输出 "world"
console.log(str.substr(-6, 5)); // 输出 "world" (从倒数第 6 个字符开始)

注意

  • 在 ECMAScript 标准中,建议使用 substringslice 替代 substr,因为 substr 已经被标记为废弃(deprecated)。

PHP 中的 substr

在 PHP 中,substr 函数功能为用于从字符串中提取部分内容。

语法

substr(string $string, int $start, ?int $length = null): string
  • $string: 要截取的字符串。
  • $start: 开始位置。
    • 如果 $start 是负数,则从字符串末尾开始计数。
  • $length: 截取的长度(可选)。如果不提供或为 null,截取到字符串末尾。

示例

<?php
$str = "Hello, world!";
echo substr($str, 0, 5); // 输出 "Hello"
echo substr($str, 7, 5); // 输出 "world"
echo substr($str, -6, 5); // 输出 "world"
?>

Python 中的等价方法

Python 中没有直接的 substr 方法,但可以通过字符串切片 (slice) 达到同样的效果。

语法

str[start:end]
  • start: 起始索引(包含)。
  • end: 结束索引(不包含)。
  • 步长: 可选参数,用于指定每隔几个字符取一个。

示例

str = "Hello, world!"
print(str[0:5])  # 输出 "Hello"
print(str[7:12]) # 输出 "world"
print(str[-6:-1]) # 输出 "world" (从倒数第 6 到倒数第 1 个字符,不包含倒数第 1 个)

其他语言

Java

Java 中没有直接的 substr 方法,而是通过 substring 方法实现类似功能。

String str = "Hello, world!";
System.out.println(str.substring(0, 5)); // 输出 "Hello"
System.out.println(str.substring(7, 12)); // 输出 "world"

补充

  • substr 主要按“起始点+长度”来操作,简单明了。
  • 许多语言的替代方法(如 substring 或切片)通常是“起始点+终点”,更适合特定需求。

http://www.ppmy.cn/devtools/146805.html

相关文章

WiFi、蓝牙共存,物联网无线通信技术,设备无线连接数据传输应用

WiFi、蓝牙共存 一、简介 什么是共存 共存是指允许多个2.4GHZ**&#xff08;频段范围2400-2483.5MHZ&#xff09;**技术&#xff08;包括WiFi、Zigbee、Thread和蓝牙&#xff09;同时存在而不会发生来自一个无线电的信号干扰相邻无线信号的现象 为什么要用WiFi、蓝牙共存 …

华为浏览器(HuaweiBrowser),简约高效上网更轻松

华为浏览器是一款由华为公司自主研发的网页浏览工具&#xff0c;凭借其独特的设计理念和优质的用户体验&#xff0c;正在吸引越来越多的用户关注。这款基于Chromium技术打造的浏览器不仅继承了Chrome的高性能特质&#xff0c;更融入了华为自身的创新元素&#xff0c;为用户打造…

音视频入门基础:MPEG2-TS专题(22)——FFmpeg源码中,获取TS流的音频信息的实现

音视频入门基础&#xff1a;MPEG2-TS专题系列文章&#xff1a; 音视频入门基础&#xff1a;MPEG2-TS专题&#xff08;1&#xff09;——MPEG2-TS官方文档下载 音视频入门基础&#xff1a;MPEG2-TS专题&#xff08;2&#xff09;——使用FFmpeg命令生成ts文件 音视频入门基础…

Html——10 关键字和描述

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>淘宝网</title><meta name"keywords" content"我要自学网,自学HTML,自学CSS"/><meta name"description" content"要设置…

C++ 设计模式:观察者模式(Observer Pattern)

链接&#xff1a;C 设计模式 链接&#xff1a;C 设计模式 - 模板方法 链接&#xff1a;C 设计模式 - 策略模式 观察者模式&#xff08;Observer Pattern&#xff09;是一种行为设计模式&#xff0c;它定义了一种一对多的依赖关系&#xff0c;让多个观察者对象同时监听某一个主…

离心式压缩机设计的自动化方法

离心式压缩机设计中的挑战 长期以来&#xff0c;人们一直使用不同形状和尺寸的压缩机&#xff0c;通过向流经转子的连续流体添加能量来产生压力上升。它们也在汽车工业的涡轮增压器中得到广泛使用。图 1 显示了典型的离心式&#xff08;径向&#xff09;压缩机叶轮。 图 1 叶轮…

word中文献引用[]符号的上下标格式修改

word中文献引用[]符号的上下标格式修改 百度网址 1、查找打开使用通配符&#xff0c;输入[[][0-9]{1,2}[]]&#xff0c;即可匹配所有的字[1],[12]这些字符&#xff0c;然后鼠标点击替换为的空白处&#xff0c;再点击特殊格式–>“字体”&#xff0c;选中上标&#xff0c;最…

AWS、Google Cloud Platform (GCP)、Microsoft Azure、Linode和 桔子数据 的 价格对比

要对比 AWS、Google Cloud Platform (GCP)、Microsoft Azure、Linode 和 桔子数据 的 价格&#xff0c;我们需要先了解每个平台的定价模型、服务类型以及不同服务之间的价格差异。以下是根据各个平台常见服务&#xff08;如计算实例、存储、数据传输等&#xff09;做的一个 简化…