【问题标题】:Slice a string in javascript在javascript中切片一个字符串
【发布时间】:2019-03-28 07:27:57
【问题描述】:

我有一个查询字符串:

window.location.search
?myvar=kx

我将如何切掉“?”一开始?例如,在 python 中我会这样做:

str = str.lstrip('?')

str = str[1:]

我将如何在 javascript 中执行这些操作?

【问题讨论】:

标签: javascript


【解决方案1】:

如果你想在切片后向左或向右,你可以使用 split:

var loc = "http://test.com?myVar=kx&myCar=BMW";
var res = loc.split("?");
var url = res[0]
var params = res[1]

如果你想获取不带queryString的URL,你可以尝试如下:

var loc = window.location; // or new URL("http://test.com?myVar=kx&myCar=BMW");
var url = loc.origin;

如果你想在 URL 中获取参数的值,那么你可以使用 URLSearchParams,它非常简单易用。

let params = new URLSearchParams(window.location.search);
let myVar = params.get('myvar');

你也可以这样使用:

let params = new URL('http://test.com?myVar=kx&myCar=BMW').searchParams;
params.get('myVar'); // "kx"
params.get('myCar'); // "BMW"

如果这不是您想要的,您可以尝试正则表达式或其他字符串操作来帮助您找到您想要的。你可以在w3schools查看

【讨论】:

    【解决方案2】:

    如果您希望在开始查询之后专门获取所有内容,我会执行以下函数。

    // function you can use:
    function getQueryString(str) {
      return str.split('?')[1];
    }
    // use the function:
    console.log(getQueryString("?myvar=kx")); // which returns 'myvar=kx'
    

    【讨论】:

      【解决方案3】:

      对于子字符串,您可以执行以下操作:

      str.substring(1)
      

      对于lstrip,您可以使用正则表达式。

      【讨论】:

        猜你喜欢
        • 2017-12-09
        • 2016-06-22
        • 2020-11-27
        • 2023-04-09
        • 2022-01-01
        • 2018-06-14
        • 1970-01-01
        • 2023-01-28
        • 2015-04-28
        相关资源
        最近更新 更多