DEV Community

Guru prasanna
Guru prasanna

Posted on

2

Python Day-21 String functions logic using loops

1) replace(): Returns a string where a specified value is replaced with a specified value.

txt = "I like bananas"
already = "bananas"
new = "apples"

l = len(already) # l = 7
start = 0 
end = l 
while end<=len(txt):
    if txt[start:end] == 'bananas':
        print(txt[:start],new)
    start+=1
    end+=1
Enter fullscreen mode Exit fullscreen mode

Output:

I like  apples
Enter fullscreen mode Exit fullscreen mode

--> In Python, everything is an object.
--> Every different object has different memory space.
--> String is Immutable:
--> Immutable: Non-changeable - மாறாது.
--> If we try to edit an existing string, it wont get changed. Instead, a new memory will be created for storing the new value.
-->Identical strings can refer to the same memory.

Example:

country1 = 'India'
country2 = 'India'
country3 = 'India'
country4 = 'India'
print(id(country1))
print(id(country2))
print(id(country3))
print(id(country4))
country1 = "Singapore"
print(id(country1))
Enter fullscreen mode Exit fullscreen mode

Output:

137348796892288
137348796892288
137348796892288
137348796892288
137348795520944
Enter fullscreen mode Exit fullscreen mode

So for the last print statement a new memory has been created and string cannot be changed.

2) Difference between rfind() and rindex():
Searches the string for a specified value and returns the last position of where it was found.
Example:1

txt = "Mi casa, su casa."

x = txt.rfind("basa")
print(x) 
x = txt.rindex("basa")
print(x)
Enter fullscreen mode Exit fullscreen mode

Output:

-1
ValueError: substring not found
Enter fullscreen mode Exit fullscreen mode

-->In rfind() if string not found it returns -1.
-->In rindex() if string not found it returns valueError.

Example:2(Logic)

txt = "Python is my favourite language"
key = 'my'
l = len(key)
start = len(txt) - l
end = len(txt)

while start >= 0:
    if txt[start:end] == key:
        print(start)
        break
    start -= 1
    end -= 1
else:
    print('-1 or ValueError')
Enter fullscreen mode Exit fullscreen mode

Output:

10
Enter fullscreen mode Exit fullscreen mode

3) split(): Splits the string at the specified separator, and returns a list.

txt = "Today is Wednesday"
word = ''
start = 0
i = 0 
while i<len(txt):
    if txt[i]==' ':
        print(txt[start:i])
        start = i+1
    elif i == len(txt)-1:
        print(txt[start:i+1])
    i+=1
Enter fullscreen mode Exit fullscreen mode

Output:

Today
is
Wednesday
Enter fullscreen mode Exit fullscreen mode

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay