因此,在我的示例中,我们有如下所示的字符串:
CP1_ctl05_RCBPAThursdayStartTimePicker_0_dateInput
CP1_ctl05_RCBPAFridayStartTimePicker_3_dateInput
CP1_ctl05_RCBPAMondayStartTimePicker_1_dateInput

任务是从字符串中提取星期几。

我已经想过您可以修剪第一组字符CP1_ctl05_RCBPA,因为它们将始终具有相同的长度,并且将始终出现在相同的位置。使用string.substr(15),我能够将字符串减少为FridayStartTimePicker_3_dateInput,但是我不确定如何删除其余的后缀垃圾文本。

我当时正在考虑通过查找第一个出现的y来修剪末端(因为在这种情况下它只会在一周的几天内发生),然后将末端切开直到那一点,但是我不确定如何处理像这样的字符串的一部分。

最佳答案

您可以使用正则表达式提取它们。由于每一天都以y结尾,并且每一天之间都没有y,因此您可以简单地将其用作分隔符



const regex = /\w{15}(\w+y).*/g;
const str = `CP1_ctl05_RCBPAThursdayStartTimePicker_0_dateInput`;
const subst = `\$1`;

// The substituted value will be contained in the result variable
const result = str.replace(regex, subst);

console.log('Substitution result: ', result);

09-16 16:38