Python program to extract string until first non-alphanumeric character

王林
Release: 2023-09-11 12:49:02
forward
1416 people have browsed it

Python program to extract string until first non-alphanumeric character

Python strings are sequences of characters that represent information or data. Normal strings can contain various characters enclosed in single or double quotes, but alphanumeric strings contain only digits and letters. Both alphanumeric and non-alphanumeric strings are used and applied in various scenarios, including password protection, data processing and verification, formatting, etc.

Specific patterns can be identified and extracted. We can also provide different combinations using these types of strings. We will perform operations based on these strings. Our task is to extract the string until the first non-alphanumeric character is encountered.

Understanding Questions

We must extract the substring from the original string before encountering non-alphanumeric characters. Let us understand this through an example.

Input and output scenarios

Let us consider a dictionary with the following values ​​-

Input: Inp_STR = "Sales18@22!Roam"
Copy after login

The given string consists of letters, numbers and special characters. Once we encounter a non-alphanumeric character, we have to retrieve the substring.

Output: Sales18
Copy after login

We can see that a substring "Sales18" is returned from the original string because after this a non-alphanumeric character is encountered, namely "@". Now that we understand the problem statement, let's discuss some solutions.

Use iteration

This is the basic and simpler way to extract a string based on the provided conditions. We will pass a string and create a new variable which will store all alphanumeric characters i.e. letters (upper and lower case) and numbers. After that, we will go through the original string and iterate over each character.

We will build a condition to check if the characters in the original string are alphanumeric. Once a non-alphanumeric character is encountered, the loop breaks and returns the substring.

Example

The following is an example of extracting a string until the first non-alphanumeric character -

Inp_STR = "Sales18@22Roam"
print(f"The original string is: {Inp_STR}")

ExSTR = ""
alphaNum = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"
for x in Inp_STR:
   if x not in alphaNum:
      break
   else:
      ExSTR += x
print(f"The extracted string till 1st Non-Alphanumeric character: {ExSTR}")
Copy after login

Output

The original string is: Sales18@22Roam
The extracted string till 1st Non-Alphanumeric character: Sales18
Copy after login
Copy after login

Use regular expression module Search()

The

Regex module or "re" module is a powerful programming tool for searching and matching patterns. These patterns are passed in the form of unique expressions. Using this module, we will detect non-alphanumeric patterns in raw strings and retrieve the first encountered sequence. We use the "search()" function to search a string for a non-alphanumeric pattern represented by the expression "\W ".

"\W" indicates non-alphanumeric classes, and " " sets the continuous matching logic for non-alphanumeric characters. The ".start()" method returns the starting index of the matching substring, which index value will be used to retrieve the desired substring.

Example

The following is an example -

import re
Inp_STR = "Sales18@22Roam"
print(f"The original string is: {Inp_STR}")

ExSTR = re.search(r"\W+", Inp_STR).start()
print(f"The 1st non-alphanumeric character is encountered at: {ExSTR}")
ExSTR = Inp_STR[ : ExSTR]

print(f"The extracted string till 1st Non-Alphanumeric character: {ExSTR}")
Copy after login

Output

The original string is: Sales18@22Roam
The 1st non-alphanumeric character is encountered at: 7
The extracted string till 1st Non-Alphanumeric character: Sales18
Copy after login
Copy after login

Use Regex module Findall()

This is another way to extract the string until the first non-alphanumeric character is encountered. In this approach, we will use the "findall()" function from the re module to find all occurrences of a substring consisting of alphanumeric characters.

will get a list of matching substrings and we will retrieve the first substring using the "0" index value. We will use the regular expression: "[\dA-Za-z]*", which represents zero or more alphanumeric characters in a line.

The regular expression symbol "\d" matches any number between 0 and 9, "A-Z" matches any uppercase letter between A and Z, " a-z< /b>" matches any lowercase letter between a and z.

Example

The following is an example -

import re
Inp_STR = "Sales18@22Roam"
print(f"The original string is: {Inp_STR}")

ExSTR = re.findall(r"[\dA-Za-z]*", Inp_STR)[0]
print(f"The extracted string till 1st Non-Alphanumeric character: {ExSTR}")
Copy after login

Output

The original string is: Sales18@22Roam
The extracted string till 1st Non-Alphanumeric character: Sales18
Copy after login
Copy after login

Use Isalnum() method

In this method, we will iterate the index of each character in the original string and build a condition to check if the character at index "x" is not alphanumeric. This is done with the help of the "isalnum()" method which determines the alphanumeric nature of the string. After that we will use list slicing to extract the string until the first alphanumeric character.

Example

The following is an example -

Inp_STR = "Sales18@22Roam"
print(f"The original string is: {Inp_STR}")

for x in range(len(Inp_STR)):
   if not Inp_STR[x].isalnum():
      ExSTR = Inp_STR[:x]
      print(f"The 1st non-alphanumeric character is encountered at: {x}")
      break
   else:
      ExSTR = Inp_STR
print(f"The extracted string till 1st Non-Alphanumeric character: {ExSTR}")
Copy after login

Output

The original string is: Sales18@22Roam
The 1st non-alphanumeric character is encountered at: 7
The extracted string till 1st Non-Alphanumeric character: Sales18
Copy after login
Copy after login

in conclusion

In this article, we discussed some efficient and optimized solutions for extracting substrings from strings when the first non-alphanumeric character is encountered. We understand simple and crude solutions as well as advanced and optimized solutions. We use the regular expression module and use its "search()" and "findall()" functions to extract relevant strings. Finally, we discussed another solution based on list slicing, which involves using the "isalnum()" method.

The above is the detailed content of Python program to extract string until first non-alphanumeric character. For more information, please follow other related articles on the PHP Chinese website!

source:tutorialspoint.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!