Я пытаюсь отформатировать что-то вроде "100 долларов" до "100 долларов", используя Python.

Как я могу это сделать?

Я хочу выполнить некоторую обработку текста из новостной ленты (RSS), используя Python NLTK, но сначала я хочу немного «очистить» этот текст, поэтому я подумал о том, чтобы начать со знаков доллара.

0
J.Salinas 25 Июн 2019 в 06:09

4 ответа

Лучший ответ

Попробуйте использовать это if выражение:

s = "$100"
if '$' in s:
    print(s[1:] + ' dollar%s' % ('s' if int(s[1:]) != 1 else ''))

Выход:

100 dollars

Кроме того, для "$1" он дал бы 1 dollar без s в конце.

1
U10-Forward 25 Июн 2019 в 03:13
a= $500
for i in a:
       if i==$:
            continue

       else:
            print(i,end='')
 print("Dollar")

Выход: 500 долларов

-1
Rabindra Tamang 25 Июн 2019 в 03:54

Или используйте регулярное выражение:

import re
s = '$100'
s1 = re.sub('\$([0-9]+)', '\g<1> dollars', s)
print(s1) # '100 dollars'

Может включать десятичные числа:

s = '$100.99'
s1 = re.sub('\$([0-9]+\.?[0-9]*)', '\g<1> dollars', s)
print(s1) # 100.99 dollars
1
Yosi Hammer 25 Июн 2019 в 04:03

Используйте метод if AND replace для получения желаемого результата.

s = "$100"
if "$" in s:
    s = s.replace('$', "")
    s = s+" dollars"
    print(s)

Выход:-

100 dollars

Я надеюсь, что это может помочь вам

0
Rahul charan 25 Июн 2019 в 03:28