Вернуть значение подстроки из строки - PullRequest
0 голосов
/ 24 марта 2020

Я пришел из фона ServiceNow. Мне нужна помощь, чтобы получить имя пользователя из следующего строкового значения.

«Изменение юридического имени отправлено для XXXXXXX: ДЕЙСТВИЯ, ТРЕБУЕМЫЕ из ИТ-службы поддержки».

В приведенном выше тексте XXXX относится к имени пользователя и мне нужно получить это значение. Это всегда остается между "для" и ":". Как мне это сделать, используя javascript?

Спасибо, Чайтанья

Ответы [ 2 ]

1 голос
/ 24 марта 2020

Я предлагаю использовать match с регулярным выражением

var statement = "Legal Name Change Submitted for XXXXXXX : ACTION REQUIRED from IT Help Desk";
var submittedFor = statement.match(/for\s(.*)\s:/)[1];
console.log(submittedFor); // it will print  XXXXXXX
0 голосов
/ 24 марта 2020

Решение для перебора

const message = "Legal Name Change Submitted for XXXXXXX : ACTION REQUIRED from IT Help Desk";
const forWord = 'for';
const forIndex = message.indexOf(forWord);
const colonIndex = message.indexOf(':');
const forLength = forWord.length;

message.slice(forIndex + forLength, colonIndex).trim();

Более элегантное решение

const message = "Legal Name Change Submitted for XXXXXXX : ACTION REQUIRED from IT Help Desk";
const result = message.match(/(?<=for)(.*)(?=:)/);
const name = result.value[0].trim();
...