Графит aliasSub (), используйте Regex для преобразования в «Заголовок» - PullRequest
0 голосов
/ 17 сентября 2018

Мне нужно преобразовать псевдонимы в case-case в Graphite .Я использую функцию aliasSub () .

Итак, учитывая некоторые метрики

pass
needs review
fail

, я хочу использовать aliasSub(), чтобы дать мне

Pass
Needs Review
Fail

Мне удалось сделать это сгрубое преобразование с использованием aliasSub() для каждой буквы алфавита:

OtherFunctionsfirst|aliasSub("\b([a])([a-z]+)","A\2")|aliasSub("\b([b])([a-z]+)","B\2")|aliasSub("\b([c])([a-z]+)","C\2")|aliasSub("\b([d])([a-z]+)","D\2")|aliasSub("\b([e])([a-z]+)","E\2")|aliasSub("\b([f])([a-z]+)","F\2")|aliasSub("\b([g])([a-z]+)","G\2")|aliasSub("\b([h])([a-z]+)","H\2")|aliasSub("\b([i])([a-z]+)","I\2")|aliasSub("\b([j])([a-z]+)","J\2")|aliasSub("\b([k])([a-z]+)","K\2")|aliasSub("\b([l])([a-z]+)","L\2")|aliasSub("\b([m])([a-z]+)","M\2")|aliasSub("\b([n])([a-z]+)","N\2")|aliasSub("\b([o])([a-z]+)","O\2")|aliasSub("\b([p])([a-z]+)","P\2")|aliasSub("\b([q])([a-z]+)","Q\2")|aliasSub("\b([r])([a-z]+)","R\2")|aliasSub("\b([s])([a-z]+)","S\2")|aliasSub("\b([t])([a-z]+)","T\2")|aliasSub("\b([u])([a-z]+)","U\2")|aliasSub("\b([v])([a-z]+)","V\2")|aliasSub("\b([w])([a-z]+)","W\2")|aliasSub("\b([x])([a-z]+)","X\2")|aliasSub("\b([y])([a-z]+)","Y\2")|aliasSub("\b([z])([a-z]+)","Z\2")

Тьфу!Это делает работу, но не элегантно и в некоторой степени снижает производительность (возможно, сильно).

Вопрос: Есть ли лучший способ сделать это?

Для тех, кто просматривает этот вопрос на основе тегов, но не знаком с Graphite: это веб-приложение на основе Python.Мне предоставляется графическая функция aliasSub(), которая, в свою очередь, вызывает функцию re.sub() Python.Код, с которым я взаимодействую, находится на github здесь .

...