是否可以使用以下方法在Python中操作字符串?
对于以点表示法存储的任何字符串,例如:
s = "classes.students.grades"
有没有一种方法可以将字符串更改为以下内容:
"classes.students"
基本上,删除到最后一个期间为止的所有内容。这样"restaurants.spanish.food.salty"
就变成了"restaurants.spanish.food"
。
此外,是否有任何方法可以识别上一时期之后的情况?我要这样做的原因是我要使用isDigit()
。
所以,如果这是classes.students.grades.0
我能抢0
不知何故,所以我可以使用if语句isdigit
,并说,如果最后一期(所以后面的字符串的一部分0
在这种情况下)是一个数字,将其删除,否则,离开它。
您可以一起使用
split
和
join
:
s = "classes.students.grades"
print '.'.join(s.split('.')[:-1])
您正在分割字符串.
-它会给您一个字符串列表,之后您将列表元素重新连接回字符串,用.
[:-1]
将从列表中选择所有元素,但最后一个
要检查最后一个之后是什么.
:
s.split('.')[-1]
另一种方法是使用
rsplit
。它的工作方式与 split 相同,但是如果提供 maxsplit 参数,它将从末尾开始分割字符串:
rest, last = s.rsplit('.', 1)
'classes.students'
'grades'
您也可以使用空字符串 re.sub
替换最后.
一个部分之后的部分:
re.sub('\.[^.]+$', '', s)
在您的问题的最后一部分中,[]
我建议使用
format
和包装文字 list comprehension
:
''.join("[{}]".format(e) for e in s.split('.'))
它会为您提供所需的输出:
[classes][students][grades]
SETRANGE key offset value 用value 参数覆写(overwrite)给定key 所储存的字符串值,从偏移量offset 开始。 不存在的key 当作空白字符串处理。可以用作append: 注意: 如果偏移量>字符长度, 该字符自动补0x00,注意它不会报错
substr key start end 返回截取过的key的字符串值,注意并不修改key的值。下标是从0开始的
append key value 返回新字符串值的长度。
前言 忙活了一个礼拜,终于等到周末,可以空下来写点东西。 之前已经完成《数值运算》和《布尔运算》,这次轮到介绍字符串操作 。咱们先得弄明白两个内容: 什么是字符串? 对字符串有哪些操作? 下面是"在线新华字典"的解释: 字符串:简称“串”。有限字符的序列。数据元素为字符的线性表,是一种数据的逻辑结构。在计算机中可有不同的存储结构。在串上可进行求子串、插入字符、删除字符、置换字符等运算。 而字符呢?
字符串操作 函数 char * rt_strstr (const char *s1, const char *s2) 判断字符串 rt_uint32_t rt_strcasecmp (const char *a, const char *b) 忽略大小写比较字符串 char * rt_strncpy (char *dst, const char *src, rt_ubase_
GETRANGE key start end 返回key 中字符串值的子字符串,字符串的截取范围由start 和end 两个偏移量决定(包括start 和end 在内)。可以使用负值,字符串右面下标是从-1开始的。 注意返回值处理: 1: start>=length, 则返回空字符串 2: stop>=length,则截取至字符结尾 3: 如果start 所处位置在stop右边, 返回空字符串