Hướng dẫn how do you separate special characters from a string in python? - làm cách nào để tách các ký tự đặc biệt khỏi một chuỗi trong python?

6

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi đang cố gắng phân chia ở bất kỳ ký tự đặc biệt nào bằng cách sử dụng

>>> re.split(r"[^a-zA-Z0-9\s]", "foo bar_blub23/x~y'z")
['foo bar', 'blub23', 'x', 'y', 'z']
0 từ gói
>>> re.split(r"[^a-zA-Z0-9\s]", "foo bar_blub23/x~y'z")
['foo bar', 'blub23', 'x', 'y', 'z']
1. Đây là những gì tôi đã làm cho đến nay, nhưng dường như chưa thực sự diễn ra. Bất kỳ ý tưởng?

word = [b for b in re.split(r'\`\-\=\~\!\@\#\$\%\^\&\*\(\)\_\+\[\]\{\}\;\'\\\:\"\|\<\,\.\/\>\<\>\?', a)]

Hướng dẫn how do you separate special characters from a string in python? - làm cách nào để tách các ký tự đặc biệt khỏi một chuỗi trong python?

Đã hỏi ngày 9 tháng 1 năm 2014 lúc 15:09Jan 9, 2014 at 15:09

4

Thay vì liệt kê tất cả các ký tự "đặc biệt", có thể dễ dàng hơn để tạo một lớp các ký tự trong đó không phân chia và đảo ngược nó bằng ký tự

>>> re.split(r"[^a-zA-Z0-9\s]", "foo bar_blub23/x~y'z")
['foo bar', 'blub23', 'x', 'y', 'z']
2.

Ví dụ:

>>> re.split(r"[^a-zA-Z0-9\s]", "foo bar_blub23/x~y'z")
['foo bar', 'blub23', 'x', 'y', 'z']
3 sẽ phân chia ở bất kỳ ký tự nào không có trong lớp
>>> re.split(r"[^a-zA-Z0-9\s]", "foo bar_blub23/x~y'z")
['foo bar', 'blub23', 'x', 'y', 'z']
4 hoặc
>>> re.split(r"[^a-zA-Z0-9\s]", "foo bar_blub23/x~y'z")
['foo bar', 'blub23', 'x', 'y', 'z']
5 (
>>> re.split(r"[^a-zA-Z0-9\s]", "foo bar_blub23/x~y'z")
['foo bar', 'blub23', 'x', 'y', 'z']
6 và
>>> re.split(r"[^a-zA-Z0-9\s]", "foo bar_blub23/x~y'z")
['foo bar', 'blub23', 'x', 'y', 'z']
7, hãy xem ở đây để biết thêm thông tin). Tuy nhiên, lưu ý rằng ký tự
>>> re.split(r"[^a-zA-Z0-9\s]", "foo bar_blub23/x~y'z")
['foo bar', 'blub23', 'x', 'y', 'z']
8 được bao gồm trong lớp
>>> re.split(r"[^a-zA-Z0-9\s]", "foo bar_blub23/x~y'z")
['foo bar', 'blub23', 'x', 'y', 'z']
4, do đó, thay vào đó bạn có thể muốn chỉ định rõ ràng tất cả các ký tự "thông thường", ví dụ:
re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
0.

>>> re.split(r"[^a-zA-Z0-9\s]", "foo bar_blub23/x~y'z")
['foo bar', 'blub23', 'x', 'y', 'z']

Đã trả lời ngày 9 tháng 1 năm 2014 lúc 15:29Jan 9, 2014 at 15:29

tobias_ktobias_ktobias_k

79,7K11 Huy hiệu vàng115 Huy hiệu bạc174 Huy hiệu đồng11 gold badges115 silver badges174 bronze badges

2

Sử dụng một lớp ký tự:

re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)

Đã trả lời ngày 9 tháng 1 năm 2014 lúc 15:12Jan 9, 2014 at 15:12

Hướng dẫn how do you separate special characters from a string in python? - làm cách nào để tách các ký tự đặc biệt khỏi một chuỗi trong python?

TotototoToto

87.3K62 Huy hiệu vàng86 Huy hiệu bạc122 Huy hiệu Đồng62 gold badges86 silver badges122 bronze badges

0

Bạn có thể muốn phân chia chuỗi khi bạn gặp một nhân vật không phải là chữ và số. Do đó, bạn có thể sử dụng Metacharacter

>>> re.split(r"[^a-zA-Z0-9\s]", "foo bar_blub23/x~y'z")
['foo bar', 'blub23', 'x', 'y', 'z']
4 trong Regex, điều đó có nghĩa là "Mỗi chữ cái A-ZA-Z0-9" và phù hợp với
>>> re.split(r"[^a-zA-Z0-9\s]", "foo bar_blub23/x~y'z")
['foo bar', 'blub23', 'x', 'y', 'z']
2 như thế này:

>>> re.split(r'[^\w]', 'toto"t"o/t!')
['toto', 't', 'o', 't', '']

Đã trả lời ngày 9 tháng 1 năm 2014 lúc 15:31Jan 9, 2014 at 15:31

Hướng dẫn how do you separate special characters from a string in python? - làm cách nào để tách các ký tự đặc biệt khỏi một chuỗi trong python?

Maxime LorantMaxime LorantMaxime Lorant

32.9K19 Huy hiệu vàng84 Huy hiệu bạc96 Huy hiệu Đồng19 gold badges84 silver badges96 bronze badges

0

Các phương thức sau có thể được sử dụng để loại bỏ các ký tự đặc biệt khỏi chuỗi trong Python,..split() in Python not to split on only one character but multiple characters at once. 

Example:

"GeeksforGeeks, is an-awesome! website"

Phương thức isalnum () ...split() on the above will result in

['GeeksforGeeks, ', 'is', 'an-awesome!', 'website']

Sử dụng các biểu thức chính quy (regex) trong Python ..

['GeeksforGeeks', 'is', 'an', 'awesome', 'website']

Phương thức thay thế () ..

Phương thức bộ lọc () ..

Phương thức dịch () ..

Python3

re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
3
re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
4

Làm thế nào để bạn phá vỡ một chuỗi với các ký tự đặc biệt?

re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
8
re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
9
>>> re.split(r'[^\w]', 'toto"t"o/t!')
['toto', 't', 'o', 't', '']
0
>>> re.split(r'[^\w]', 'toto"t"o/t!')
['toto', 't', 'o', 't', '']
1
>>> re.split(r'[^\w]', 'toto"t"o/t!')
['toto', 't', 'o', 't', '']
2

Để chia một chuỗi theo các ký tự đặc biệt, hãy gọi phương thức Split () trên chuỗi, chuyển nó một biểu thức chính quy phù hợp với bất kỳ ký tự đặc biệt nào dưới dạng tham số. Phương thức sẽ phân chia chuỗi trên mỗi lần xuất hiện của một ký tự đặc biệt và trả về một mảng chứa kết quả.

re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
8
re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
9
"GeeksforGeeks, is an-awesome! website"
0
>>> re.split(r'[^\w]', 'toto"t"o/t!')
['toto', 't', 'o', 't', '']
1
"GeeksforGeeks, is an-awesome! website"
2
"GeeksforGeeks, is an-awesome! website"
3

Output:

Chuỗi ban đầu là: Đây, là - một: Ví dụ ?! Danh sách sau khi thực hiện chức năng phân chia: [‘Cái này

Ở đây, từ khóa [\ w,]+ chỉ ra rằng nó sẽ tìm thấy tất cả các trường hợp của bảng chữ cái hoặc dấu gạch dưới (_) một hoặc nhiều và trả lại chúng trong một danh sách. Lưu ý: [\ w,]+ won chia tách khi gạch dưới (_) khi nó tìm kiếm bảng chữ cái cũng như gạch dưới. & Nbsp;, or _ or or !. The symbol “|” represents or. There are some symbols in regex which are treated as special symbols and have different functions. If you wish to split on such a symbol, you need to escape it using a “\“(back-slash). List of special characters that need to be escaped before using them:

. \ + * ? [ ^ ] $ ( ) { } = !  | : -

Example:  

Python3

re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
3
re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
4

"GeeksforGeeks, is an-awesome! website"
6
re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
6
"GeeksforGeeks, is an-awesome! website"
8

re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
8
['GeeksforGeeks, ', 'is', 'an-awesome!', 'website']
0
['GeeksforGeeks, ', 'is', 'an-awesome!', 'website']
1
['GeeksforGeeks, ', 'is', 'an-awesome!', 'website']
2

Output:

['GeeksforGeeks', ' is', 'an', 'awesome', ' app', 'too']

Lưu ý: Để biết thêm về Regex bấm vào đây. To know more about regex click here.

Phương pháp 2: Chia nhiều ký tự từ chuỗi bằng cách sử dụng re.findall ()

Đây là một hình thức phức tạp hơn một chút nhưng tiết kiệm thời gian. Nó cũng sử dụng regex như ở trên nhưng thay vì phương thức .Split (), nó sử dụng một phương thức gọi là .findall (). Phương pháp này tìm thấy tất cả các phiên bản phù hợp và trả về từng trường hợp trong danh sách. Cách chia tách này được sử dụng tốt nhất khi bạn không biết các nhân vật chính xác mà bạn muốn chia theo. & NBSP;.split() method, it uses a method called .findall(). This method finds all the matching instances and returns each of them in a list. This way of splitting is best used when you don’t know the exact characters you want to split upon. 

Python3

re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
3
re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
4

re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
5
re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
6
['GeeksforGeeks, ', 'is', 'an-awesome!', 'website']
7

re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
8
re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
9
>>> re.split(r'[^\w]', 'toto"t"o/t!')
['toto', 't', 'o', 't', '']
0
>>> re.split(r'[^\w]', 'toto"t"o/t!')
['toto', 't', 'o', 't', '']
1
>>> re.split(r'[^\w]', 'toto"t"o/t!')
['toto', 't', 'o', 't', '']
2

>>> re.split(r'[^\w]', 'toto"t"o/t!')
['toto', 't', 'o', 't', '']
3
re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
6
['GeeksforGeeks', 'is', 'an', 'awesome', 'website']
5
['GeeksforGeeks', 'is', 'an', 'awesome', 'website']
6
>>> re.split(r'[^\w]', 'toto"t"o/t!')
['toto', 't', 'o', 't', '']
7

re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
8
re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
9
"GeeksforGeeks, is an-awesome! website"
0
>>> re.split(r'[^\w]', 'toto"t"o/t!')
['toto', 't', 'o', 't', '']
1
"GeeksforGeeks, is an-awesome! website"
2
"GeeksforGeeks, is an-awesome! website"
3

Output:

Chuỗi ban đầu là: Đây, là - một: Ví dụ ?! Danh sách sau khi thực hiện chức năng phân chia: [‘Cái này

Ở đây, từ khóa [\ w,]+ chỉ ra rằng nó sẽ tìm thấy tất cả các trường hợp của bảng chữ cái hoặc dấu gạch dưới (_) một hoặc nhiều và trả lại chúng trong một danh sách. Lưu ý: [\ w,]+ won chia tách khi gạch dưới (_) khi nó tìm kiếm bảng chữ cái cũng như gạch dưới. & Nbsp;Note: [\w’]+ won’t split upon an underscore(_) as it searches for alphabets as well as underscores. 

Example:  

Python3

re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
3
re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
4

. \ + * ? [ ^ ] $ ( ) { } = !  | : -
6
re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
6
. \ + * ? [ ^ ] $ ( ) { } = !  | : -
8

re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
8
['GeeksforGeeks', ' is', 'an', 'awesome', ' app', 'too']
0
['GeeksforGeeks', 'is', 'an', 'awesome', 'website']
6
['GeeksforGeeks', ' is', 'an', 'awesome', ' app', 'too']
2

Output:

['This', 'is', 'underscored', '_', 'example']

Chia nhiều ký tự từ chuỗi bằng cách sử dụng thay thế () và split ()

Đây là một cách rất tân binh để chia tách. Nó không sử dụng regex và không hiệu quả nhưng vẫn đáng để thử. Nếu bạn biết các ký tự bạn muốn chia tách, chỉ cần thay thế chúng bằng một không gian và sau đó sử dụng .Split (): & nbsp;.split()

Python3

re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
5
re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
6
['GeeksforGeeks', ' is', 'an', 'awesome', ' app', 'too']
5

re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
8
re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
9
>>> re.split(r'[^\w]', 'toto"t"o/t!')
['toto', 't', 'o', 't', '']
0
>>> re.split(r'[^\w]', 'toto"t"o/t!')
['toto', 't', 'o', 't', '']
1
>>> re.split(r'[^\w]', 'toto"t"o/t!')
['toto', 't', 'o', 't', '']
2

>>> re.split(r'[^\w]', 'toto"t"o/t!')
['toto', 't', 'o', 't', '']
3
re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
6
['GeeksforGeeks', 'is', 'an', 'awesome', 'website']
5
['GeeksforGeeks', 'is', 'an', 'awesome', 'website']
6
>>> re.split(r'[^\w]', 'toto"t"o/t!')
['toto', 't', 'o', 't', '']
7

re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
8
re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
9
"GeeksforGeeks, is an-awesome! website"
0
>>> re.split(r'[^\w]', 'toto"t"o/t!')
['toto', 't', 'o', 't', '']
1
"GeeksforGeeks, is an-awesome! website"
2
"GeeksforGeeks, is an-awesome! website"
3

Output:

Chuỗi ban đầu là: Đây, là - một: Ví dụ ?! Danh sách sau khi thực hiện chức năng phân chia: [‘Cái này

Ở đây, từ khóa [\ w,]+ chỉ ra rằng nó sẽ tìm thấy tất cả các trường hợp của bảng chữ cái hoặc dấu gạch dưới (_) một hoặc nhiều và trả lại chúng trong một danh sách. Lưu ý: [\ w,]+ won chia tách khi gạch dưới (_) khi nó tìm kiếm bảng chữ cái cũng như gạch dưới. & Nbsp;

. \ + * ? [ ^ ] $ ( ) { } = !  | : -
6
re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
6
. \ + * ? [ ^ ] $ ( ) { } = !  | : -
8

Chia nhiều ký tự từ chuỗi bằng cách sử dụng thay thế () và split ()Đây là một cách rất tân binh để chia tách. Nó không sử dụng regex và không hiệu quả nhưng vẫn đáng để thử. Nếu bạn biết các ký tự bạn muốn chia tách, chỉ cần thay thế chúng bằng một không gian và sau đó sử dụng .Split (): & nbsp;
re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
5
re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
6
['GeeksforGeeks', ' is', 'an', 'awesome', ' app', 'too']
5
>>> re.split(r'[^\w]', 'toto"t"o/t!')
['toto', 't', 'o', 't', '']
3
re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
6
['This', 'is', 'underscored', '_', 'example']
3
['This', 'is', 'underscored', '_', 'example']
4
['This', 'is', 'underscored', '_', 'example']
5
['This', 'is', 'underscored', '_', 'example']
6
['This', 'is', 'underscored', '_', 'example']
7
['GeeksforGeeks', ' is', 'an', 'awesome', ' app', 'too']
['This', 'is', 'underscored', '_', 'example']
5__96
re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
8
re.split(r'[`\-=~!@#$%^&*()_+\[\]{};\'\\:"|<,./<>?]', a)
9
"GeeksforGeeks, is an-awesome! website"
0
>>> re.split(r'[^\w]', 'toto"t"o/t!')
['toto', 't', 'o', 't', '']
1
"GeeksforGeeks, is an-awesome! website"
2
"GeeksforGeeks, is an-awesome! website"
3
Chuỗi ban đầu là: Let LetS_Try, đây là danh sách sau khi thực hiện chức năng chia tách: [Let Let ,,
Các lớp nhân vậtRegex Cheat-Sheet trên mô tả nhân vật
Lớp nhân vật tốc kýĐại diện
\ dBất kỳ chữ số số nào từ 0 đến 9
\ DBất kỳ ký tự nào không phải là một chữ số từ 0 đến 9

Làm thế nào để bạn chia các ký tự đặc biệt trong một chuỗi trong Python?

Phương thức python split () được sử dụng để chia chuỗi thành các khối và nó chấp nhận một đối số gọi là phân tách. Một dấu phân cách có thể là bất kỳ ký tự hoặc một biểu tượng. Nếu không có dấu phân cách nào được xác định, thì nó sẽ phân chia chuỗi đã cho và khoảng trắng sẽ được sử dụng theo mặc định.

Làm thế nào để bạn tách các số ký tự và ký tự đặc biệt khỏi chuỗi đã cho trong Python?

Các bước:..
Tính độ dài của chuỗi ..
Quét mọi ký tự (CH) của một chuỗi từng người một. Nếu (CH là một chữ số) thì hãy nối nó trong chuỗi Res1. ....
In tất cả các chuỗi, chúng ta sẽ có một chuỗi chứa một phần số, phần không phải là số khác và phần cuối cùng chứa các ký tự đặc biệt ..

Làm thế nào để bạn xóa các ký tự đặc biệt khỏi văn bản trong Python?

Các phương thức sau có thể được sử dụng để loại bỏ các ký tự đặc biệt khỏi chuỗi trong Python,..
Phương thức isalnum () ..
Sử dụng các biểu thức chính quy (regex) trong Python ..
Phương thức thay thế () ..
Phương thức bộ lọc () ..
Phương thức dịch () ..

Làm thế nào để bạn phá vỡ một chuỗi với các ký tự đặc biệt?

Để chia một chuỗi theo các ký tự đặc biệt, hãy gọi phương thức Split () trên chuỗi, chuyển nó một biểu thức chính quy phù hợp với bất kỳ ký tự đặc biệt nào dưới dạng tham số.Phương thức sẽ phân chia chuỗi trên mỗi lần xuất hiện của một ký tự đặc biệt và trả về một mảng chứa kết quả.call the split() method on the string, passing it a regular expression that matches any of the special characters as a parameter. The method will split the string on each occurrence of a special character and return an array containing the results.