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)); })();
添加回答
舉報