Reqular Expression: заменить пользовательский формат числом? - PullRequest
0 голосов
/ 31 августа 2009

Я хочу заменить пользовательский формат, например ...

ABC - #### - 09

до

ABC-0023-09

Сколько начального нуля должно быть решено в зависимости от того, сколько знака «#» в формате и длина значения по умолчанию для замены (в нашем случае 23).

Есть ли шаблон регулярного выражения для этого?

Спасибо ...

Ответы [ 2 ]

2 голосов
/ 31 августа 2009

Это должно работать в Javascript:

function user_str_replace {

  var match = user_input.match(/#+/);
  var length = match.length;

  var str = your_number.toString();
  var newStr = "";
  for (var i = 0; i < length - str.length; i ++) {
    newStr = "0" + newStr;
  }
  newStr = newStr + str;

  return (newStr);
}
2 голосов
/ 31 августа 2009

Как насчет этого?

$num = 23;
$format = 'ABC-####-09';
print preg_replace('/(#+)/e', 'str_pad($num, strlen("$1"), 0, STR_PAD_LEFT)', $format);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...