เราจะลบอักขระ x ตัวแรกออกจากสตริงได้อย่างไร? ตัวอย่างเช่นหากมีสตริงlipsum
พวกเขาจะลบอักขระ 3 ตัวแรกและได้ผลลัพธ์sum
อย่างไร
เราจะลบอักขระ x ตัวแรกออกจากสตริงได้อย่างไร? ตัวอย่างเช่นหากมีสตริงlipsum
พวกเขาจะลบอักขระ 3 ตัวแรกและได้ผลลัพธ์sum
อย่างไร
คำตอบ:
อีกวิธีหนึ่ง (ขึ้นอยู่กับความต้องการที่แท้จริงของคุณ): หากคุณต้องการแสดงอักขระnตัวแรกและบันทึกทั้งอักขระที่โผล่ขึ้นมาและสตริงที่แก้ไข:
s = 'lipsum'
n = 3
a, s = s[:n], s[n:]
print(a)
# lip
print(s)
# sum
>>> x = 'lipsum'
>>> x.replace(x[:3], '')
'sum'
>>> x = 'liplip'
>>> x.replace(x[:3], '')
''
. แน่นอนว่าคุณสามารถแก้ไขปัญหานี้ได้โดยมีพารามิเตอร์ที่สาม (count) = 1 แต่ก็ยังใช้เวลานานกว่านี้
ใช้del
.
ตัวอย่าง:
>>> text = 'lipsum'
>>> l = list(text)
>>> del l[3:]
>>> ''.join(l)
'sum'
text = 'liplip'
>>> text.lstrip(text[:3])
''
เพราะสำหรับอาร์กิวเมนต์ตัวอักษรไม่ใช่คำนำหน้า แต่การรวมค่าทั้งหมดจะถูกตัดออก:str.lstrip([chars])
'liplip'
. ในอันที่สองTypeError: 'str' object does not support item deletion
ตัวอย่างการแสดงหมายเลขบัญชี 3 หลักสุดท้าย
x = '1234567890'
x.replace(x[:7], '')
o/p: '890'
>>> x = '12345678901234567890'
>>> x.replace(x[:7], 'xxxxxxx')
'xxxxxxx890xxxxxxx890'
x
s แทนที่จะลบออก
"lipsumm"[3:] == "summ"