string Punctuation
This page was last reviewed on Jan 11, 2022.
Dot Net Perls
Punctuation. A Python string may contain letters, whitespace, numbers, and punctuation. Punctuation characters include commas and periods and semicolons.
With Python, we can access the string.punctuation constant. This contains all the common punctuation characters. It can be tested and used in programs.
String strip
In operator use. Here we use the in-operator on the string.punctuation constant. This allows us to test whether a char in a string is a punctuation character.
import string # An input string. name = "hey, my friend!" for c in name: # See if the char is punctuation. if c in string.punctuation: print("Punctuation: " + c)
Punctuation: , Punctuation: !
Loop example. In this example we use a for-in loop over the string.punctuation characters. We print each character with surrounding brackets.
Note The string.punctuation values do not include Unicode symbols or whitespace characters.
import string # Display punctuation. for c in string.punctuation: print("[" + c + "]")
[!] ["] [#] [$] [%] [&] ['] [(] [)] [*] [+] [,] [-] [.] [/] [:] [;] [<] [=] [>] [?] [@] [[] [\] []] [^] [_] [`] [{] [|] [}] [~]
Remove punctuation. With the "in" operator and the string.punctuation constant, we can remove all punctuation chars from a string.
Note We add each character to our result that is not punctuation. Spaces (which are not punctuation) are kept.
import string def remove_punctuation(value): result = "" for c in value: # If char is not punctuation, add it to the result. if c not in string.punctuation: result += c return result # Test our method. temp = "hello, friend!... welcome." print(temp) print(remove_punctuation(temp))
hello, friend!... welcome. hello friend welcome
Whitespace. Let us look at another occasionally-helpful constant in the string module: string.whitespace. This too can be looped over or tested.
Tip Instead of testing constant strings with "in," consider using methods like isspace().
import string print(" " in string.whitespace) print("\n" in string.whitespace) print("X" in string.whitespace)
True True False
For performance, the in-operator is fast. But it will not outperform a specialized lookup table. We could use a dictionary to store a value indicating whether a char is punctuation or not.
A review. Python contains many helpful constants in its string module. For example, we can test whitespace, digits, punctuation. We avoid writing these characters out in special code.
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.
This page was last updated on Jan 11, 2022 (simplify).
© 2007-2024 Sam Allen.