从开始就一次从字符串中删除一个字符

时间:2019-03-03 18:11:10

标签: python python-3.x

我已经阅读了以下问题,但与我想要的没什么不同:
Removing a character in a string one at a time

我是python的新手,我在某个地方看到过这个问题。

给出一个数字N和一个1位整数K,最后加上K,一次从数字中除去一位,然后找出最小的出现。

给出:

42 4
24 9

输出:

24
24

这就是我所做的:

n=input().split(" ")
if "0" not in n:
    conc_string=n[0]+n[1]
    answer=n[0]
    #Here I want to remove each digit from string one at a time and check
    #Example: '424' should be '24','44','42'
    if(any_number<answer):
        answer=any_number
    print(answer)

但是问题是我已经阅读了python中的字符串是不可变的。那么如何进行呢?除了使用字符串,还有其他有效的方法吗?

P.S。 N可以包含任意数量的数字。

2 个答案:

答案 0 :(得分:-1)

您要寻找的是regular expressions

您需要做的是:

import re

# don't actually use the **, i'm putting those there for emphasis.
s = re.search(r"(?P<group_name1>**pattern goes here**)(?P<group_name2>**pattern goes here**, **name of string goes here**)

然后您可以进行分组,然后将其转换为字符串

string = str(s.group('group_name'))

如果您需要帮助,我将留给您寻找匹配项的逻辑,只是发表另一条评论:)

答案 1 :(得分:-1)

将字符串转换为列表并使用它们。最后,使用join()

将列表再次转换为字符串
a = 'abc'
a = list(a)
print(a)
>>>['a', 'b', 'c']
a = ''.join(a)
print(a)
>>>'abc'
相关问题