我想从第三个字符到字符串末尾获得一个新字符串,例如myString[2:end]。如果省略第二部分意味着“到结尾”,如果省略第一部分,它是否从头开始?
当前回答
有没有一种方法可以在Python中对字符串进行子串,以获得从第三个字符到字符串末尾的新字符串?也许像myString[2:end]?
是的,如果您将名称end赋值或绑定到常量singleton None,这实际上是有效的:
>>> end = None
>>> myString = '1234567890'
>>> myString[2:end]
'34567890'
切片表示法有3个重要参数:
开始停止步
未给定时,它们的默认值为None,但我们可以显式传递它们:
>>> stop = step = None
>>> start = 2
>>> myString[start:stop:step]
'34567890'
如果离开第二部分意味着“直到结束”,如果你离开第一部分,它是否从头开始?
是的,例如:
>>> start = None
>>> stop = 2
>>> myString[start:stop:step]
'12'
请注意,我们在切片中包括start,但我们只包括stop,而不包括stop。
当步长为“无”时,默认情况下,切片使用1作为步长。如果您使用负整数,Python就足够聪明,可以从头到尾。
>>> myString[::-1]
'0987654321'
我在解释切片表示法问题的答案中详细解释了切片表示法。
其他回答
我有一个更简单的解决方案,使用for循环来查找字符串中的给定子字符串。假设我们有两个字符串变量,
main_string = "lullaby"
match_string = "ll"
如果要检查主字符串中是否存在给定的匹配字符串,可以执行以下操作:,
match_string_len = len(match_string)
for index,value in enumerate(main_string):
sub_string = main_string[index:match_string_len+index]
if sub_string == match_string:
print("match string found in main string")
这里似乎缺少一个示例:完整(浅)拷贝。
>>> x = "Hello World!"
>>> x
'Hello World!'
>>> x[:]
'Hello World!'
>>> x==x[:]
True
>>>
这是创建序列类型副本(而不是内部字符串)[:]的常见习惯用法。Shallow复制一个列表,请参阅Python列表切片语法,无明显原因。
str1='There you are'
>>> str1[:]
'There you are'
>>> str1[1:]
'here you are'
#To print alternate characters skipping one element in between
>>> str1[::2]
'Teeyuae'
#To print last element of last two elements
>>> str1[:-2:-1]
'e'
#Similarly
>>> str1[:-2:-1]
'e'
#Using slice datatype
>>> str1='There you are'
>>> s1=slice(2,6)
>>> str1[s1]
'ere '
有没有一种方法可以在Python中对字符串进行子串,以获得从第三个字符到字符串末尾的新字符串?也许像myString[2:end]?
是的,如果您将名称end赋值或绑定到常量singleton None,这实际上是有效的:
>>> end = None
>>> myString = '1234567890'
>>> myString[2:end]
'34567890'
切片表示法有3个重要参数:
开始停止步
未给定时,它们的默认值为None,但我们可以显式传递它们:
>>> stop = step = None
>>> start = 2
>>> myString[start:stop:step]
'34567890'
如果离开第二部分意味着“直到结束”,如果你离开第一部分,它是否从头开始?
是的,例如:
>>> start = None
>>> stop = 2
>>> myString[start:stop:step]
'12'
请注意,我们在切片中包括start,但我们只包括stop,而不包括stop。
当步长为“无”时,默认情况下,切片使用1作为步长。如果您使用负整数,Python就足够聪明,可以从头到尾。
>>> myString[::-1]
'0987654321'
我在解释切片表示法问题的答案中详细解释了切片表示法。
除了“结束”,你就在那里。这叫做切片表示法。您的示例应为:
new_sub_string = myString[2:]
如果省略了第二个参数,则它隐式地是字符串的结尾。
推荐文章
- 证书验证失败:无法获得本地颁发者证书
- 当使用pip3安装包时,“Python中的ssl模块不可用”
- 无法切换Python与pyenv
- Python if not == vs if !=
- 如何从scikit-learn决策树中提取决策规则?
- 为什么在Mac OS X v10.9 (Mavericks)的终端中apt-get功能不起作用?
- 将旋转的xtick标签与各自的xtick对齐
- Printf与std::字符串?
- 为什么元组可以包含可变项?
- 如何合并字典的字典?
- 如何创建类属性?
- 不区分大小写的“in”
- 在Python中获取迭代器中的元素个数
- 解析日期字符串并更改格式
- 使用try和。Python中的if