Использование регулярного выражения, как заменить 1 186,55 на 1186,55?замена регулярных выражений номеров
Моя строка поиска
\b[1-9],[0-9][0-9][0-9].[0-9][0-9]
, который работает отлично. Я просто не могу заставить запасную часть работать.
Использование регулярного выражения, как заменить 1 186,55 на 1186,55?замена регулярных выражений номеров
Моя строка поиска
\b[1-9],[0-9][0-9][0-9].[0-9][0-9]
, который работает отлично. Я просто не могу заставить запасную часть работать.
You очень скудны с информацией в вашем вопросе. Я стараюсь ответить как можно более общим:
Вы можете сократить регулярное выражение немного с помощью кванторов, я хотел бы сделать это в качестве первого шага
\b[1-9],[0-9]{3}.[0-9]{2}
Скорее всего, вы также можете заменить [0-9]
на \d
, является также более читаемый ИМО.
\b\d,\d{3}.\d{2}
Теперь мы можем перейти к запасной части. Здесь вам нужно сохранить детали, которые хотите сохранить. Вы можете сделать это, помещая эту часть в захвате группы, помещая скобки, это будет ваш шаблон поиска:
Итак, теперь вы можете получить доступ к совпадающему содержанию этих захватывающих групп в строке замены , Первая открывающая скобка является первой группой вторая открывающая скобка является второй группой, ...
Здесь есть две возможности, либо вы можете получить, что содержание по \1
или $1
заменяемых строки затем будет
\1\2
ИЛИ
$1$2
Спасибо stema. Это здорово! – dbmaven
, если вы просто хотите удалить запятую вы можете сделать (в Java или C#):
str.Replace(",", "");
(в Java это replace
)
Или в Perl:
s/(\d+),(\d+)/$1$2/
Python:
def repl(initstr, unwanted=','):
res = set(unwanted)
return ''.join(r for r in initstr if r not in res)
Использование регулярных выражений:
from re import compile
regex = compile(r'([\d\.])')
print ''.join(regex.findall('1,186.55'))
str.split() Использование метода:
num = '1,186.55'
print ''.join(num.split(','))
Использование str.replace() метод:
num = '1,186.55'
print num.replace(',', '')
Просто замените все ',' (запятые) ничем? – Jerry
Почему вы хотите использовать регулярное выражение? Почему бы просто не удалить символ ','? –
Это файл с разделителями-запятыми. Замена всех запятых испортила бы определение поля. – dbmaven