Используйте Соответствие в Regex, чтобы разделить, затем произвести отформатированную строку с match.groups
Regex regex = new Regex(@"(?<first3chr>\d{3})(?<next3chr>\d{3})(?<next4chr>\d{4})");
Match match = regex.Match(phone);
if (match.Success) return "(" + match.Groups["first3chr"].ToString() + ")" + " " +
match.Groups["next3chr"].ToString() + "-" + match.Groups["next4chr"].ToString();
См. Часто задаваемые вопросы Sinatra ,
«Как мне перезагрузить приложение Sinatra при внесении изменений?»
Во-первых, перезагрузка кода в процессе в Ruby тяжело и иметь Решение, которое работает для любого сценария, технически невозможно.
Вот почему мы рекомендуем вам выполнить внепроцессную перезагрузку.
Сначала вам нужно установить rerun , если вы еще этого не сделали:
Повторный запуск установки $ gem
Теперь, если вы запустите приложение Sinatra следующим образом:
$ ruby app.rb
Все, что вам нужно сделать для перезагрузки, это сделать следующее:
$ rerun 'ruby app.rb'
Если вы, например, используете стойку, вместо этого следующее:
$ rerun 'rackup'
Вы уловили идею.
Если вам все еще нужна перезагрузка в процессе, посмотрите
Sinatra :: Reloader
.