当前位置: 首页 > 面试题库 >

点表示法字符串操作

穆城
2023-03-14
问题内容

是否可以使用以下方法在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右边, 返回空字符串