Как извлечь все символы после 30-го в простой строке. - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть текстовое поле, которое возвращает строку символов длиной от 38 до 40.Мне нужно просто извлечь из 30-го символа до конца.

Я использовал. {9} $, чтобы захватить последние девять, затем понял, что исходные строки не являются заданным количеством символов, и только первые 29 не нужны.Все после номер дела и это то, что мне нужно.Опять же, необходимое количество символов может быть от 9 до 12

Ответы [ 4 ]

0 голосов
/ 20 декабря 2018

Пропустить первые 29 и извлечь остальные

Вот строковые методы .slice(), .substring() и .replace().RegEx, который пропустит первые 29 символов и пробелов, а затем извлечет остальные:

(?:[\s\S]{29})([\s\S]*?)
  • Начать сопоставление без захвата: (?: ...
  • Любой пробелили непробельный символ: [\s\S]
  • Двадцать девять раз: {29}
  • Окончание сопоставления без захвата: .. )
  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • Далее начнитесоответствующий захват: ( ...
  • Любой пробел или непробельный символ: [\s\S]
  • Ноль или более раз: *
  • Лениво: ?
  • Завершение сопоставления: ... )

Демонстрация

var str = '123456789㉈123456789㉉123456789㉊123456789㉋';

var rgx = /(?:[\s\S]{29})([\s\S]*?)/;

console.log('var str = ' + str);

console.log('--------------------------------------------------');

console.log('str.slice(29) // ' + str.slice(29));

console.log('--------------------------------------------------');

console.log('str.substring(29) // ' + str.substring(29));

console.log('--------------------------------------------------');

console.log(`var rgx = ${rgx}`);

console.log('str.replace(rgx, "$1") // ' + str.replace(rgx, '$1'));
.as-console-wrapper {
  min-height: 100%;
}

.as-console-row-code.as-console-row-code {
  font-size: 18px;
}

.as-console-row.as-console-row::after {
  display: none;
}
0 голосов
/ 20 декабря 2018

При использовании Python просто выполните:

string[30:]

Это автоматически вернет самый тридцатый символ в конец.

0 голосов
/ 20 декабря 2018
^.{30}\K.*$

^ устанавливает позицию в начале строки

. {30} Квантор - соответствует 30 раз

\ K сбрасывает начальную точку указанного совпадения.Все ранее использованные символы больше не включаются в финальное совпадение

. * соответствует любому символу (кроме ограничителей строки)

$ утверждает позициюв конце строки или перед разделителем строки прямо в конце строки (если есть)

0 голосов
/ 20 декабря 2018

Вы можете использовать функцию подстроки

[YourString].substring(29)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...