Заимствуя из ответов на этот вопрос , диапазон символов регулярных выражений для многих, но не для всех акцентированных символов составляет À-ÿ
.Поэтому, чтобы соответствовать им, вы можете просто добавить это к вашим существующим диапазонам:
string.gsub(/[^0-9A-Za-zÀ-ÿ]/, '')
Это в значительной степени зависит от акцентов, которые вы ищете, так как слишком много акцентов, чтобы легко соответствовать все из них.В этом примере регулярное выражение сохранит, например, острые / серьезные акценты, но пропускает полумесяцы:
puts "I went to a café.".gsub(/[^0-9A-Za-zÀ-ÿ]/, '') # Iwenttoacafé
puts "Ahoj, světe!".gsub(/[^0-9A-Za-zÀ-ÿ]/, '') # Ahojsvte
Это может подойти для вашего случая использования, но если вы имеете дело, скажем, с чешским текстом, вам может понадобитьсядополнительные диапазоны символов для соответствия полумесяцам.