Как добавить запятые форматирования к числу в Google Refine

Из-за того, для чего мы используем данные, важно, чтобы длинные числа (8+ цифр) имели запятые через каждые 3 цифры для форматирования и удобочитаемости.

Проблема в том, что я действительно не знаю, как сделать выражение, которое делает это. Может ли кто-нибудь с большим опытом написания этих выражений указать мне правильное направление?

Поддерживаемые языки выражений: GREL (Google Refine Expression Language), Clojure и Jython.


person dpascucci    schedule 22.11.2013    source источник


Ответы (1)


Используя замену, этот \B(?=(\d{3})+(?!\d)) будет вставлять запятую через каждые три цифры

Итак, 12345678 становится 12,345,678

Он использует :

  • \B : Отрицательная граница слова, это инвертированная версия \b и совпадает во всех позициях, где \b нет. По сути, \B соответствует любой позиции между двумя символами слова, а также любой позиции между двумя символами, не являющимися словами. Подробнее

  • Положительный взгляд вперед (?=...), который гарантирует, что запятая будет вставлена ​​через каждые три цифры, начиная справа

Live DEMO

person Enissay    schedule 22.11.2013