python基础——字符串切片

字符串切片是指获取字符串的一部分,形成新的字符串对象

语法:
字符串[开始索引,结束索引]
字符串[开始索引,结束索引,步长]
参数解释:
1、开始索引没写,默认为0
2、结束索引没写,默认到字符串的结尾
3、如果step为正时,开始索引的位置一定要在结束索引的前边,否则截取的字符串为空
4、如果step为负时,开始索引的位置一定要在结束索引的后边,否则截取的字符串为空
5、step不能为0,否则报错
6、如果没有step设置,默认为1
7、索引位置出现-1表示是字符串的最后一个字符,-2表示倒数第二个,以此类推
8、开始索引可以取到而结束索引去取不到是方便使用同一个下标可以把整个字符串全部截取,即str[:3]和str[3:] 可以取全部的字符串

注意第一和第二条的是字符串的相对位置关系,并不是开始和结束索引的大小关系

举例说明
str[-1] 取字符串的最后一个参数,只有一个参数,代表相应字符的索引

a = "012345"
print(a[-1])
输出:5

str[:] 采用切片的方式复制字符串,可以看作是字符串的浅copy

a = "012345"
print(a[:])
输出:012345

str[1:3] 没有step,默认为1

a = "012345"
print(1:3)
输出:

str[:3] 默认从头开始,step默认为1

a = "012345"
print(a[:3])
输出:012

str[3:] 从下标为3的地方一直到最后

a = "012345"
print(a[3:])
输出:345

str[3:100] 结束索引的值可以比整个字符串的长度要大,一般不推荐

a = "012345"
print(a[3:100])
输出:345

str[::-1] 倒序输出字符串

a = "012345"
print(a[::-1])
输出:543210

str[::-2] 倒序输出,步长为2

a = "012345"
print(a[::-2])
输出:531

str[-1:2:-1] 此时-1(第一个)代表的位置一定在2代表的位置的后边

a = "012345"
print(a[-1:2:-1])
输出:543

注意点就是开始索引和结束索引的相对位置关系

### 如何在Python中移除字符串中的某些部分 在Python中处理字符串时,可以采用多种方法来移除不需要的部分。对于特定模式的删除或者基于位置的字符去除,不同的场景有不同的最佳实践。 #### 使用切片操作移除指定位置的内容 如果目标是从已知索引处开始移除一部分字符串,则可以通过简单的切片技术实现这一点。例如给定字符串 `"004-034556"` 并希望将其分割成两个独立的部分 `["004", "034556"]` ,那么可以根据分隔符的位置来进行切割[^1]: ```python original_string = "004-034556" part_one, part_two = original_string.split('-', 1) print(part_one) # 输出 '004' print(part_two) # 输出 '034556' ``` 此代码片段展示了如何利用 `-` 符号作为分界线将原始字符串分成两段新字符串。 #### 利用正则表达式替换不想要的部分 当面对更复杂的匹配需求时——比如依据某种规律而非固定位置去识别待删内容——推荐使用正则表达式的 `re.sub()` 方法。这种方法允许定义一个模式并据此查找和替代符合条件的所有实例[^3]。 假设存在一系列相似结构的数据串,其中包含了不必要的前缀或后缀信息,通过编写适当规则即可一次性清除这些干扰项: ```python import re def clean_up(input_str): cleaned = re.sub(r'^\d{3}-', '', input_str) # 移除开头三位数字加连字符的形式 return cleaned example_input = "004-034556" result = clean_up(example_input) print(result) # 结果应为'034556' ``` 上述函数接受任意输入参数,并尝试从中剔除形如 `\d{3}-` 的起始序列(即三个连续数字后面跟着一个短横杠),从而达到简化数据的目的。 #### 应用环境变量设置与读取技巧间接影响字符串构建过程 值得注意的是,在涉及配置文件解析或是动态调整程序行为的情况下,合理运用操作系统级别的环境变量同样有助于灵活控制最终形成的字符串形态。由于环境变量本质上是以键值对形式存在的字符串集合,因此对其进行赋值时务必确保右侧也是合法字符串类型;而在后续访问阶段,则借助内置模块轻松获取所需设定值[^2]。 ```python import os os.environ['PREFIX'] = 'pre_' dynamic_part = "main_content" full_path = f"{os.getenv('PREFIX')}{dynamic_part}" print(full_path) # 屏幕上会显示 'pre_main_content' ``` 这里演示了怎样先声明名为 PREFIX 的全局变量存储预期前置标签,之后再拼接其他组件构成完整的路径名或其他类型的复合型字符串表示法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值