Hướng dẫn python replace non alphanumeric
I have a string with which i want to replace any character that isn't a standard character or number such as (a-z or 0-9) with an asterisk. For example, "h^&ell`.,|o w]{+orld" is replaced with "h*ell*o*w*orld". Note that multiple characters such as "^&" get replaced with one asterisk. How would I go about doing this? Show
Nội dung chính
nneonneo 165k35 gold badges293 silver badges368 bronze badges asked Oct 20, 2012 at 5:10 2 Regex to the rescue!
Example:
answered Oct 20, 2012 at 5:11 nneonneonneonneo 165k35 gold badges293 silver badges368 bronze badges 6 The pythonic way.
This doesn't deal with grouping multiple consecutive non-matching characters though, i.e.
crizCraig 7,9185 gold badges53 silver badges52 bronze badges answered Feb 28, 2014 at 13:27 baloanbaloan 6555 silver badges7 bronze badges Try:
in Python3:
Edit: realized that the OP wants to replace non-chars with '*'. My answer does not fit answered Jan 5, 2015 at 5:15 DonDon 16.4k11 gold badges61 silver badges97 bronze badges 0 Use
update: This solution will exclude underscore as well. If you want only alphabets and numbers to be excluded, then solution by nneonneo is more appropriate. Csaba Toth 9,2265 gold badges70 silver badges112 bronze badges answered Aug 12, 2016 at 18:54 psunpsun 5659 silver badges13 bronze badges 2 Not the answer you're looking for? Browse other questions tagged python or ask your own question.How do you replace non alphabetic characters in Python?1. Using regular expressions. A simple solution is to use regular expressions for removing non-alphanumeric characters from a string. The idea is to use the special character \W , which matches any character which is not a word character. How do I remove non alphabetic characters from a string?A common solution to remove all non-alphanumeric characters from a String is with regular expressions. The idea is to use the regular expression [^A-Za-z0-9] to retain only alphanumeric characters in the string. You can also use [^\w] regular expression, which is equivalent to [^a-zA-Z_0-9] . How do you find a non alphanumeric character in Python?Python String isalnum() Method The isalnum() method returns True if all the characters are alphanumeric, meaning alphabet letter (a-z) and numbers (0-9). Example of characters that are not alphanumeric: (space)! #%&? etc. How do you replace non alphanumeric characters with empty strings?The approach is to use the String. replaceAll method to replace all the non-alphanumeric characters with an empty string. Replace all non-alphanumeric characters in a Python string #Use the
The first example uses the The re.sub method returns a new string that is obtained by replacing the occurrences of the pattern with the provided replacement.
If the pattern isn't found, the string is returned as is. The first argument we passed to the The square brackets The caret The If you need to replace
multiple, consecutive non-alphanumeric characters with a single replacement string, add a plus
The plus We used a pipe If you need to replace all non-alphanumeric characters in a string and preserve the whitespace, use the following regular expression.
The If you ever need help reading or writing a regular expression, consult the regular expression syntax subheading in the official docs. The page contains a list of all of the special characters with many useful examples. Alternatively, you can use a generator expression. To replace all non-alphanumeric characters in a string:
We used a generator expression to iterate over the string. Generator expressions are used to perform some operation for every element or select a subset of elements that meet a condition. On each iteration, we use the The str.isalnum method returns
If the character is alphanumeric, we return the character, otherwise we return the replacement string. The last step is to join the list of characters into a string.
The str.join method takes an iterable as an argument and returns a string which is the concatenation of the strings in the iterable. The string the method is called on is used as the separator between the elements. For our purposes, we call the If you need to preserve the whitespace, use the boolean
We used the boolean The character has to be alphanumeric or it has to be a space. |