简体   繁体   中英

Extract words from string before number Python

Hi all I was wondering if it is possible in python to extract words from a string before a number.

For Example:

Hi my name is hazza 50 test test test

Hi hazza 60 test test test

hazza 50 test test test

I want to get the words before the number not after if it is possible.

Hi my name is hazza

Hi hazza

hazza

Regards Hazza

Regex will do

import re

strings = '''
Hi my name is hazza 50 test test test

Hi hazza 60 test test test

hazza 50 test test test

hazza test test test
'''

for s in re.findall('([a-zA-Z ]*)\d*.*',strings):
    print(s)

Gives

Hi my name is hazza 

Hi hazza 

hazza 

hazza test test test
is_digit = False
str = "Hi my name is hazza 50 test test test"
r = 0

for c in str:
  if c.isdigit():
     # is_digit = True
     r = str.index(c)

print(str[0:r-2])

r is index of 5 r-2 because you want the string without that space before 50

read: https://www.learnpython.org/

s = "Hi my name is hazza 50 test test test"
result = ""
for i, char in enumerate(s):
    if char.isdigit():
        result = s[:i]
        break
print(result)

This implementation will allow you to extract all sets of words before each number within your string.

s = '50 Hi hazza 60 test test 70 test'
# Split string on spaces
split = s.split()
# Instantiate list to hold words
words = []
curr_string = ''
for string in split:
    # Check if string is numeric value
    if string.isnumeric():
        # Catch edge case where string starts with number
        if curr_string != '':
            # Add curr_string to words list -- remove trailing whitespace
            words.append(curr_string.strip())
            curr_string = ''
    else:
        # If string not numeric, add to curr_string
        curr_string += string + ' '

print(words)

Output: ['Hi hazza', 'test test']

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM