因此,在我的示例中,我们有如下所示的字符串: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);