исключение повторения внутри слова с регулярным выражением и добавление тега в конец

Чтобы уточнить ответ @KennyHo, я узнал, что существует другая разница между реальной и имитируемой обратной связью местоположений.

Симуляционное местоположение, как я заметил, всегда возвращает эту комбинацию значений для этих свойств / опций местоположения:

horizontalAccuracy: 5
verticalAccuracy: -1
altitude: 0.000000
speed: -1

, в то время как реальное местоположение будет давать разные комминирования 99% время, например

horizontalAccuracy: 5
verticalAccuracy: 10
altitude: +/- 0.4243232
speed: -1

Обратите внимание, что для моделируемого местоположения возможно иметь другую комбинацию, чем приведенная выше, но только если пользователь использует xcode целевой тест автоматизации . Однако пользователь может смоделировать местоположение только для подписанного приложения с идентификатором разработки (должен принадлежать приложение). Это означает, что никто, кроме вас, не может подделать местоположение с разными altitude или verticalAccuracy, чтобы обмануть ваше приложение в xcode.

1
задан dawg 13 July 2018 в 18:18
поделиться

2 ответа

искать с (\S*?)(.)\2{2,}(\S*) и заменить на \1\2\3 (\2long)

So:

text = re.sub(r"(\S*?)(.)\2{2,}(\S*)", r"\1\2\3 (\2long)", the_input_string)

Вход:

"whatheever", «cooool» и «haaaapy», сохраните только

Станет:

«что угодно», (elong) «col», (olong) и «hapy», (вдоль) сохранить только

Если вы измените шаблон поиска на (\S*?)(.)\2{2,}(\w*), тогда выход может быть "whatever(elong)",, а не "whatever", (elong)

Вы можете протестировать здесь: https://www.regexplanet.com/share/index.html?share=yyyyyrbm63d

0
ответ дан aec 17 August 2018 в 12:17
поделиться
  • 1
    Будет ли это re.sub(r"(\S*?)(.)\2{2,}(\S*)", r"\1\2\3 (\2long)", the_string)? Ваш код не компилируется, как ... – dawg 13 July 2018 в 18:33
  • 2
    @dawg oh Я вроде как просто проверил regexp и отредактировал код в вопросе. Я отредактирую его, как вы сказали – aec 13 July 2018 в 18:35
  • 3
    Вы все еще нуждаетесь в . в re.sub против подчеркивания. – dawg 13 July 2018 в 18:40

самый простой состоит в объединении регулярного выражения со строковыми конкатенациями:

for w in ('whateeever', 'cooool','haaaapy'):
    print re.sub(r'([a-zA-Z])\1+', r'\1', w)+' (elong)'
1
ответ дан dawg 17 August 2018 в 12:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: