Return 字符串中的子字符串值
Return the sub string value from string
我来自 ServiceNow 背景。我需要帮助才能从以下字符串值中获取用户名。
"Legal Name Change Submitted for XXXXXXX : ACTION REQUIRED from IT Help Desk".
在上面的文本中,XXXX 指的是用户名,我需要检索该值。它始终位于 "for" 和“:”之间。我如何使用 javascript?
来做到这一点
谢谢,
柴坦尼亚
暴力破解
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();
我建议使用 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
我来自 ServiceNow 背景。我需要帮助才能从以下字符串值中获取用户名。
"Legal Name Change Submitted for XXXXXXX : ACTION REQUIRED from IT Help Desk".
在上面的文本中,XXXX 指的是用户名,我需要检索该值。它始终位于 "for" 和“:”之间。我如何使用 javascript?
来做到这一点谢谢, 柴坦尼亚
暴力破解
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();
我建议使用 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