将n个字符从字符串的前面移到末尾

Mal*_*lyo 11 javascript string jquery

这似乎是一个简单的问题,但我找不到解决方案.我想首先,让我们说来自字符串的2个字母,并将它们移动到该字符串的末尾.因此,例如,OK12将变为12OK.

编辑:到目前为止,我已经尝试切断字符串,然后将其添加到字符串的其余部分,但我认为有一个单行解决方案,如预定义的功能或其他东西.

gdo*_*ica 17

"OK12".substr(2) + "OK12".substr(0,2)
Run Code Online (Sandbox Code Playgroud)

通用解决方案:

var result = str.substr(num) + str.substr(0, num);
Run Code Online (Sandbox Code Playgroud)

现场演示


Phr*_*ogz 6

各种技术:

str.slice(2) + str.slice(0,2);

str = str.replace(/^(.{2})(.+)/, '$2$1');

for (var a=str.split(""),i=2;i--;) a.push(a.shift());
str = a.join('');
Run Code Online (Sandbox Code Playgroud)

  • @VisioN如果恰好有两个字符(例如``AB"`)那么`.+`将无法匹配,导致替换无效,导致-TA DA!-`"AB"`,正确的结果.在这种情况下使用`.+`会导致解释器执行_less_工作并仍然得到正确的结果. (2认同)