4 回答
TA贡献1824条经验 获得超8个赞
有几种方法可以做到这一点。首先,您可以使用正则表达式来匹配第一个单词开头的单个字符和第二个单词开头的两个字符,然后是join这些部分。
val = "Graha Cinere";
out = val.match(/^(\w)\w*\s+(\w{1,2})/).slice(1).join('');
console.log(out);
其次,您可以在空格上分割字符串,然后获取第一个结果的第一个字符和第二个结果的前两个字符join:
val = "Graha Cinere";
out = val.split(' ').map((v, i) => v.slice(0, i+1)).join('');
console.log(out);
TA贡献1864条经验 获得超2个赞
先拆分然后取两个单词
val = "Graha Cinere";
parts = val.split(" ");
neededStr = parts[0][0] +parts[1][0]+ parts[1][1];
console.log(neededStr);
另外,您可以使用字符串切片
let val = "Graha Cinere";
let parts = val.split(" ");
neededPartOne = parts[0][0];
neededPartTwo = parts[1].slice(0,2);
exactNeeded = neededPartOne + neededPartTwo;
console.log(exactNeeded);
TA贡献1794条经验 获得超7个赞
白你好!
尽管使用正则表达式对于这种情况以及其他一些更复杂的情况非常有用和实用,但我建议您首先看一下并尝试大多数语言附带的本机字符串方法,这会给您一个更好地利用语言本身来找到针对您的情况的快速解决方案,如果没有,那么您可以通过从其他一些工具(例如 RegEx 、 Underscore 或其后继者 Lodash )获得额外帮助来进入下一步举几个例子:
我将这段 JS 的小片段放在一起,让您看看处理这种情况的更简单的方法。这不是唯一的方法,但它只是用所使用的语言来实现的。
干杯,朋友!
let str="Graha Cinere"; (() => { return str.charAt(0).concat(str.substr(str.indexOf(' ')+1,2)); })();
添加回答
举报