用 Python 从字符串中提取符号后的文本,不使用正则表达式

2024-10-01 11:25:47 发布

您现在位置:Python中文网/ 问答频道 /正文

def提取器DollarSign(文本)

> extractdollarsign('the day is good $GoodDay')
['GoodDay']

> extractdollarsign('the day is good$GoodDay')
[]

> extractdollarsign('the day is good $GoodDay $Day') 
['GoodDay', 'Day']

list = []
extractedtxt = text[text.find("$")+1:].split()[0]
list.append(extractedtxt)
return list

这是什么,我到目前为止,但是这个代码只是返回文本后,第一次出现的美元符号,而不是附加美元符号的名单,任何帮助将不胜感激


Tags: thetext文本isdef符号findlist
1条回答
网友
1楼 · 发布于 2024-10-01 11:25:47

这就是你想要的吗?此方法将字符串作为输入并返回字符串列表。如果找不到匹配项,则此列表可以为空。你知道吗

def extractalphanum(word):
  alphanum_word=''
  for c in word:
    if c.isalnum():
      alphanum_word += c
    else:
      break
  return alphanum_word

def extractdollarsign(sentence):
  sentence_parts = sentence.split(" $")[1:]
  words = [sentence_part.split(" ")[0] for sentence_part in sentence_parts]
  alphanum_words = [extractalphanum(word) for word in words]
  return alphanum_words

print extractdollarsign('the day is good $GoodDay')
print extractdollarsign('the day is good$GoodDay')
print extractdollarsign('the day is good $GoodDay $Day') 
print extractdollarsign('the day is good $Good Day') 
print extractdollarsign('the day is $goodday, but $tomorrowday is better')
print extractdollarsign('the day is $good_day')

它回来了

['GoodDay']
[]
['GoodDay', 'Day']
['Good']
['goodday', 'tomorrowday']
['good']

您可以使用该方法的输出进行进一步处理:

len(extractdollarsign('the day is good $GoodDay $Day'))+1 #=> 3

相关问题 更多 >