Python: Is there an equivalent of mid, right, and left from BASIC?
Python: Is there an equivalent of mid, right, and left from BASIC?
slices to the rescue 🙂
def left(s, amount):
return s[:amount]
def right(s, amount):
return s[-amount:]
def mid(s, offset, amount):
return s[offset:offset+amount]
If I remember my QBasic, right, left and mid do something like this:
>>> s = 123456789
>>> s[-2:]
89
>>> s[:2]
12
>>> s[4:6]
56
http://www.angelfire.com/scifi/nightcode/prglang/qbasic/function/strings/left_right.html
Python: Is there an equivalent of mid, right, and left from BASIC?
Thanks Andy W
I found that the mid() did not quite work as I expected and I modified as follows:
def mid(s, offset, amount):
return s[offset-1:offset+amount-1]
I performed the following test:
print([1]23, mid(123, 1, 1))
print(1[2]3, mid(123, 2, 1))
print(12[3], mid(123, 3, 1))
print([12]3, mid(123, 1, 2))
print(1[23], mid(123, 2, 2))
Which resulted in:
[1]23 1
1[2]3 2
12[3] 3
[12]3 12
1[23] 23
Which was what I was expecting. The original mid() code produces this:
[1]23 2
1[2]3 3
12[3]
[12]3 23
1[23] 3
But the left() and right() functions work fine. Thank you.