117 lines
2.2 KiB
Markdown
117 lines
2.2 KiB
Markdown
---
|
|
tags: [python, data-types]
|
|
---
|
|
|
|
# Strings in Python
|
|
|
|
> Generally, anything that changes a string will be a method on the `str` class,
|
|
> rather than a built-in function like `len()`, as such it will use dot notation
|
|
|
|
- Strings are **immutable**: string operations produce a new string.
|
|
|
|
```python
|
|
# Working with Strings
|
|
|
|
my_variable = 'Bob'
|
|
print(my_variable)
|
|
# Bob
|
|
|
|
my_variable = "Eloise"
|
|
print(my_variable)
|
|
# Eloise
|
|
|
|
# A multi line string
|
|
my_variable = """
|
|
Hello
|
|
World
|
|
"""
|
|
print(my_variable)
|
|
"""
|
|
Hello
|
|
World
|
|
"""
|
|
|
|
my_string = 'Hello World'
|
|
print(len(my_string))
|
|
# 11
|
|
|
|
string_1 = 'Good'
|
|
string_2 = " day"
|
|
string_3 = string_1 + string_2
|
|
print(string_3)
|
|
# Good day
|
|
|
|
msg = 'Hello Lloyd you are ' + str(21)
|
|
print(msg)
|
|
# Hello Lloyd you are 21
|
|
|
|
# Range of String operations
|
|
msg = 'Hello World'
|
|
print(msg.replace("Hello", "Goodbye"))
|
|
# Goodbye World
|
|
|
|
print('Edward Alan Rawlings'.find('Alan'))
|
|
# 7
|
|
|
|
print('Edward John Rawlings'.find('Alan'))
|
|
# -1
|
|
|
|
print('James' == 'James') # prints True
|
|
print('James' != 'John') # prints True
|
|
|
|
print("msg.startswith('H')", msg.startswith('H'))
|
|
# msg.startswith('H') True
|
|
|
|
print("msg.endswith('d')", msg.endswith('d'))
|
|
# msg.endswith('d') TRUE
|
|
|
|
print('some_string.upper()', msg.upper())
|
|
# some_string.upper() HELLO WORLD
|
|
|
|
print('sub string: ', 'Hello-World'[1:5])
|
|
# sub string: ello
|
|
|
|
# String interpolation
|
|
user_age = input("Please enter your age: ")
|
|
print(f'You are {user_age}')
|
|
```
|
|
|
|
## `str.split()`
|
|
|
|
The `split()` function in Python is used to divide a string into multiple parts
|
|
at the occurrence of a given separator. This function returns a
|
|
[list](Lists_in_Python.md) of substrings.
|
|
|
|
### General syntax
|
|
|
|
```py
|
|
str.split(separator, maxsplit)
|
|
```
|
|
|
|
- The `separator` is optional. It specifies the separator to use when splitting
|
|
the string. If no separator is provided, it will default to using whitespace.
|
|
|
|
- `maxsplit` is also optional and specifies how many splits to do. Default value
|
|
is -1, which is "all occurrences".
|
|
|
|
### Examples
|
|
|
|
```py
|
|
|
|
text = "Hello world, how are you?"
|
|
|
|
# Default usage:
|
|
x = text.split()
|
|
print(x)
|
|
# ['Hello', 'world', 'how', 'are', 'you?']
|
|
|
|
# Using a specific separator
|
|
x = text.split(",")
|
|
print(x)
|
|
# ['Hello', 'world how are you?']
|
|
|
|
# Specifiying a maxplit value
|
|
x = text.split(" ", 1)
|
|
print(x)
|
|
# ['Hello']
|
|
```
|