如何在程序中提取斜杠前字符并拼接日期中月份的首尾字母?
别着急,我来一步步帮你搞定这两个需求,其实核心就是字符串的分割和索引操作,咱们拆解来看:
一、提取斜杠“/”前的字符
假设你有任意带斜杠的字符串,比如"hello/world"或者你的日期串"07/December/2020",要拿到第一个斜杠前面的内容,可以这么做:
- 用
indexOf('/')找到第一个斜杠的位置 - 用
substring(0, 斜杠索引)截取从开头到斜杠前的部分 - 额外处理:如果字符串里没有斜杠,直接返回原字符串避免报错
代码示例(JavaScript):
function getBeforeSlash(str) { const slashIndex = str.indexOf('/'); return slashIndex === -1 ? str : str.substring(0, slashIndex); } // 测试 console.log(getBeforeSlash("07/December/2020")); // 输出 "07" console.log(getBeforeSlash("abc/def/ghi")); // 输出 "abc"
二、从日期串提取并拼接成“DR”
你的目标是从"07/December/2020"里拿到"December"的首字母D和最后一个字母R,拼成DR。你之前用substring和lastIndexOf没成功,大概率是没先把中间的“December”单独提取出来,咱们一步步来:
步骤1:分割字符串拿到“December”
用split('/')把日期串按斜杠分割成数组,这样就能直接拿到中间的月份部分:
const dateStr = "07/December/2020"; const parts = dateStr.split('/'); // 得到 ["07", "December", "2020"] const month = parts[1]; // 拿到 "December"
步骤2:提取首字母和最后一个字母
- 首字母直接取
month[0](字符串可以像数组一样通过索引访问字符) - 最后一个字母可以用
month[month.length - 1],如果想用substring的话,写month.substring(month.length - 1)也能拿到结果
步骤3:拼接成“DR”
把两个字符拼接起来就行,整合代码如下:
const dateStr = "07/December/2020"; const parts = dateStr.split('/'); const month = parts[1]; const result = month[0] + month[month.length - 1]; console.log(result); // 输出 "DR"
为什么你之前尝试可能失败?
比如如果直接对整个日期串用lastIndexOf('/'),拿到的是最后一个斜杠的位置,这时候用substring取到的是斜杠后面的内容,而不是月份的最后一个字母。所以关键是先把月份单独提取出来,再操作就简单多了。
内容的提问来源于stack exchange,提问作者user18139
相关产品推荐
相关产品推荐

