JavaScript相当于python字符串切片

时间:2015-09-01 09:40:11

标签: javascript string python-2.7

是否存在与此Python字符串切片方法等效的JavaScript?

s1 = 'stackoverflow'
print s1[1:]
# desired output
tackoverflow

var s2 = "stackoverflow";
/* console.log(s2.slice(1,));      this code crashes */

console.log(s2.slice(1, -1));
/* output doesn't print the 'w' */
tackoverflo

5 个答案:

答案 0 :(得分:4)

只需使用s2.slice(1)而不使用逗号。

答案 1 :(得分:2)

或者您可以使用substr

s2 = s1.substr(1);

答案 2 :(得分:2)

Array和String的原型在javascript中有函​​数slice,演示如下:

'1234567890'.slice(1,-1); //字符串    '1234567890'.split('')。slice(1,-1); //数组

slice没有名为step的参数。我们应该为它制作一个包装器。

在Python中,我们使用像这样的切片:

a = '1234567890';
a[1:-1:2];

这是一个像python这样的包装器,我写的名为slice.js的项目,它在js中启用python-slice,包括step

npm i --save slice.js

然后使用它。

import slice from 'slice.js';

// for array
const arr = slice([1, '2', 3, '4', 5, '6', 7, '8', 9, '0']);

arr['2:5'];         // [3, '4', 5]
arr[':-2'];         // [1, '2', 3, '4', 5, '6', 7, '8']
arr['-2:'];         // [9, '0']
arr['1:5:2'];       // ['2', '4']
arr['5:1:-2'];      // ['6', '4']

// for string
const str = slice('1234567890');
str['2:5'];         // '345'
str[':-2'];         // '12345678'
str['-2:'];         // '90'
str['1:5:2'];       // '24'
str['5:1:-2'];      // '64'

答案 3 :(得分:1)

只需更改

console.log(s2.slice(1,-1));

console.log(s2.slice(1,s2.length));

您可以查看有关MDN

的更多信息



var s2 = "stackoverflow";
alert(s2.slice(1, s2.length));




答案 4 :(得分:1)

SLICE

  

Slice是Python令人敬畏的负面工具的JavaScript实现   数组和字符串的索引和扩展切片语法。它使用ES6   代理以实现直观的双括号索引语法,   紧密复制在Python中如何构造切片。哦,那   也附带了Python的range方法的实现!

我知道一个可以解决这个确切问题的软件包。

它叫做

enter image description here

您可以从字面上使用数组和字符串进行操作,就像在Python中一样。

要安装此软件包:

yarn add slice
// or
npm install slice

简单用例

查看→ the docs ←了解更多信息。 enter image description here