Press "Enter" to skip to content

Python string manipulation

Zigya Acadmey 0

Here’s what you’ll learn in this article: Python provides a rich set of operators, functions, and methods for working with strings. When you are finished with this tutorial, you will know how to access and extract portions of strings, and also be familiar with the methods that are available to manipulate and modify string data.

How to create a string in Python?

Strings can be created by enclosing characters inside a single quote or double-quotes. Even triple quotes can be used in Python but generally used to represent multiline strings and docstrings.

>>> my_string = 'Hello'
>>> print(my_string)

'Hello'

>>> my_string = "Hello"
>>> print(my_string)

'Hello'

>>> my_string = '''Hello'''
>>> print(my_string)
'Hello'

String Manipulation

The sections below highlight the operators, methods, and functions that are available for working with strings.

The + Operator

The + operator concatenates strings. It returns a string consisting of the operands joined together, as shown here:

>>> s = 'Hello'
>>> t = 'World'
>>> u = '!!!'

>>> s + t
'HelloWorld'
>>> s + t + u
'HelloWorld!!!'

>>> print('Hello World' + '!!!')
Hello World!!!

The * Operator

The * operator creates multiple copies of a string. If s is a string and n is an integer, either of the following expressions returns a string consisting of n concatenated copies of s:

>>> s = "Hey-"
>>> s*3
'Hey-Hey-Hey-'

The multiplier operand n must be an integer. You’d think it would be required to be a positive integer, but amusingly, it can be zero or negative, in which case the result is an empty string:

>>> s = "Hey-"
>>> s*-4
''

The in Operator

Python also provides a membership operator that can be used with strings. The in operator returns True if the first operand is contained within the second, and False otherwise:

>>> s = "Hello"
>>> s in "Hello world"
True
>>> s in "Bye world"
False

There is also a not in operator, which does the opposite:

>>> "hello" not in "hey world"
True
>>> "hello" not in "hello world"
False

Built-in String Functions

As you saw in the tutorial on Basic Data Types in Python, Python provides many functions that are built-in to the interpreter and always available. Here are a few that work with strings:

FunctionDescription
chr()Converts an integer to a character
ord()Converts a character to an integer
len()Returns the length of a string
str()Returns a string representation of an object

ord()

This returns an integer value for the given character.

At the most basic level, computers store all information as numbers. To represent character data, a translation scheme is used which maps each character to its representative number.

The simplest scheme in common use is called ASCII. It covers the common Latin characters you are probably most accustomed to working with. For these characters, ord(c) returns the ASCII value for character c:

>>> ord('a')
97
>>> ord('A')
65
>>> ord('#')
35
>>> ord('€')
8364
>>> ord('∑')
8721

chr()

Returns a character value for the given integer.

chr() does the reverse of ord(). Given a numeric value nchr(n) returns a string representing the character that corresponds to n:

>>> chr(97)
'a'
>>> chr(65)
'A'
>>> chr(8721)
'∑'

len()

It will return the length of a string.

With len(), you can check Python string length. len(s) returns the number of characters in s:

>>> s = 'hello world!!!'
>>> len(s)
14

str(obj)

This returns a string representation of an object.

Virtually any object in Python can be rendered as a string. str(obj) returns the string representation of object obj:

>>> str(49.2)
'49.2'
>>> str(3+4j)
'(3+4j)'
>>> str(3 + 29)
'32'
>>> str('hey')
'hey'
>>> str('hey'*2)
'heyhey'

String Slicing

Python also allows a form of indexing syntax that extracts substrings from a string, known as string slicing. If s is a string, an expression of the form s[m:n] returns the portion of s starting with position m, and up to but not including position n:

>>> s = 'hello world!!!'
>>> s[1:5]
'ello'
>>> s[:]
'hello world!!!'
>>> s[::-1]
'!!!dlrow olleh'
>>> s[:-4]
'hello worl'

Case Conversion

Methods in this group perform case conversion on the target string.

s.capitalize()

Capitalizes the target string.

s.capitalize() returns a copy of s with the first character converted to uppercase and all other characters converted to lowercase:

>>> s = 'foO BaR BAZ quX'
>>> s.capitalize()
'Foo bar baz qux'

Non-alphabetic characters are unchanged:

>>> s = 'foo123#BAR#.'
>>> s.capitalize()
'Foo123#bar#.'

s.lower()

Converts alphabetic characters to lowercase.

s.lower() returns a copy of s with all alphabetic characters converted to lowercase:

>>> 'FOO Bar 123 baz qUX'.lower()
'foo bar 123 baz qux'

s.swapcase()

Swaps case of alphabetic characters.

s.swapcase() returns a copy of s with uppercase alphabetic characters converted to lowercase and vice versa:

>>> 'FOO Bar 123 baz qUX'.swapcase()
'foo bAR 123 BAZ Qux'

Conclusion

Hence we studies string manipulation in python with different built in functions in python along with its implementation.

This brings the end of this Blog. We really appreciate your time.

Hope you liked it.

Do visit our page www.zigya.com/blog for more informative blogs on Data Science

Keep Reading! Cheers!

Zigya Academy
BEING RELEVANT

Leave a Reply

Your email address will not be published. Required fields are marked *