Как удалить строку из заданных данных в python (без использования какой-либо встроенной функции)? - PullRequest
0 голосов
/ 12 января 2020

Я создал функцию Insertstring следующим образом:

def Insertstring(data,text,pos):
    count = 0
    Str = ""
    for i in data:
        if count==pos:
            Str+=text
        count+=1
        Str+=i      
    return Str

print(InsertStr("abcde","f",0))

Она работает правильно.

Вывод:

fabcde

Я хочу создать функцию Deletestring таким же образом. (Должна возвращаться оставшаяся строка)

#pos = Starting index to delete
#length = Length of data to be deleted

def Deletestring(data,pos,length):
    pass

print(InsertStr("abcde",2,3))

Ожидаемый результат:

ab

Ответы [ 2 ]

0 голосов
/ 12 января 2020

Разрезание строки может быть выполнено для удаления символа (ов) из строки. Мы можем удалить символы из строки, разрезав строку на части и затем соединяя их обратно.

Мы можем нарезать строку, используя operator [].

stringObject[ start : stop : interval]

Возвращает новый строковый объект, содержащий части данной строки, т.е. он выбирает диапазон от start до stop-1 с заданным размером шага, т.е. interval. Вы можете найти подробную информацию об этом здесь .

def Deletestring(data,pos,length):
    return data[:pos] + data[pos+length:]

strObj = "This is a sample string"
pos = 6
length = 5

print("Original String => %s" % (strObj))
print("After Delete at pos %d and length %d => %s" % (pos, length, Deletestring(strObj, pos, length)))

Вывод:

Original String => This is a sample string
After Delete at pos 6 and length 5 => This iample string
0 голосов
/ 12 января 2020

Без каких-либо встроенных функций вы можете просто нарезать:

def delete_string(data, pos, length):
    return data[:pos] + data[pos+length:]

print(delete_string("abcde", 2, 3))
# ab
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...