Can string contain special characters in python?

I'd like to know if there is a way to check if a string has special characters using methods like .isnumeric() or .isdigit(). And if not, how can I check it with regex? I've only found answers about checking if it has letters or digits.

asked Jul 16, 2019 at 17:40

5

Check for any of characters not being alphanumeric like:

any(not c.isalnum() for c in mystring)

answered Jul 16, 2019 at 17:49

Can string contain special characters in python?

ipalekaipaleka

3,4822 gold badges10 silver badges31 bronze badges

1

Give a try for:

special_characters = ""!@#$%^&*()-+?_=,<>/""
s=input()
# Example: $tackoverflow

if any(c in special_characters for c in s):
    print("yes")
else:
    print("no")
 
# Response: yes

Can string contain special characters in python?

Ty Hitzeman

8351 gold badge13 silver badges24 bronze badges

answered Jul 30, 2020 at 13:09

Can string contain special characters in python?

mkgivkmkgivk

2112 silver badges5 bronze badges

3

Using string.printable (doc):

text = 'This is my text with special character (👽)'

from string import printable

if set(text).difference(printable):
    print('Text has special characters.')
else:
    print("Text hasn't special characters.")

Prints:

Text has special characters.

EDIT: To test only ascii characters and digits:

text = 'text%'

from string import ascii_letters, digits

if set(text).difference(ascii_letters + digits):
    print('Text has special characters.')
else:
    print("Text hasn't special characters.")

answered Jul 16, 2019 at 17:49

Can string contain special characters in python?

Andrej KeselyAndrej Kesely

132k13 gold badges41 silver badges83 bronze badges

0

A non-ideal but potential way to do it while I look for a better solution:

special_char = False
for letter in string:
    if (not letter.isnumeric() and not letter.isdigit()):
        special_char = True
        break

UPDATE: Try this, it sees if the regex is present in the string. The regex shown is for any non-alphanumeric character.

import re
word = 'asdf*'
special_char = False
regexp = re.compile('[^0-9a-zA-Z]+')
if regexp.search(word):
    special_char = True

answered Jul 16, 2019 at 17:45

Zachary OldhamZachary Oldham

7981 gold badge4 silver badges20 bronze badges

1

Assuming a whitespace doesn't count as a special character.

def has_special_char(text: str) -> bool:
    return any(c for c in text if not c.isalnum() and not c.isspace())


if __name__ == '__main__':
    texts = [
        'asdsgbn!@$^Y$',
        '    ',
        'asdads 345345',
        '12😄3123',
        'hnfgbg'
    ]
    for it in texts:
        if has_special_char(it):
            print(it)

output:

asdsgbn!@$^Y$
12😄3123

answered Jul 16, 2019 at 17:55

Can string contain special characters in python?

abduscoabdusco

8,3852 gold badges26 silver badges39 bronze badges

0

Geeksforgeeks has a pretty good example using regex.

Source --> https://www.geeksforgeeks.org/python-program-check-string-contains-special-character/ Special Characters considered --> [@_!#$%^&*()<>?/\|}{~:]

# Python program to check if a string 
# contains any special character 

# import required package 
import re 

# Function checks if the string 
# contains any special character 
def run(string): 

    # Make own character set and pass  
    # this as argument in compile method 
    regex = re.compile('[@_!#$%^&*()<>?/\|}{~:]') 

    # Pass the string in search  
    # method of regex object.     
    if(regex.search(string) == None): 
        print("String is accepted") 

    else: 
        print("String is not accepted.") 


# Driver Code 
if __name__ == '__main__' : 

    # Enter the string 
    string = "Geeks$For$Geeks"

    # calling run function  
    run(string) 

answered Jul 16, 2019 at 18:02

Kartikeya SharmaKartikeya Sharma

1,1941 gold badge9 silver badges20 bronze badges

You can simply using the string method isalnum() like so:

firstString = "This string ha$ many $pecial ch@racters"
secondString = "ThisStringHas0SpecialCharacters"
print(firstString.isalnum())
print(secondString.isalnum())

This displays:

False
True

Take a look here if you'd like to learn more about it.

answered Jul 16, 2019 at 17:53

Can string contain special characters in python?

How do you get special characters in a string in Python?

Python Program to check special characters.
Input: "Hello!!".
Output: string is not accepted..
Input: "hello123".
Output: string is accepted..
Step 1- Import re module..
Step 2- Define a function to check for special characters..
Step 3- Create a regular expression of all the special characters..

Is a special character in Python string?

In Python strings, the backslash "\" is a special character, also called the "escape" character. It is used in representing certain whitespace characters: "\t" is a tab, "\n" is a newline, and "\r" is a carriage return.

Can strings contain special characters?

Explanation: Given string contains alphabets, number, and special characters.

Can Python handle special characters?

Escape sequences allow you to include special characters in strings. To do this, simply add a backslash ( \ ) before the character you want to escape.