【问题标题】:How Do I Remove last '[]' from a string?如何从字符串中删除最后一个'[]'?
【发布时间】:2013-09-12 22:35:20
【问题描述】:

我有一些自动生成的文本,其中包含 '[]' 内的子字符串。

例如:

data[0]['x'][1]['y']

我想去掉最后一个子字符串。

输出:

data[0]['x'][1]

有什么想法吗?

【问题讨论】:

  • RegEx 之类的声音在这里可能很有用
  • 输入总是有给定的形式吗?上次[] 之后没有文字?
  • @elmes: 是的,最后一个 [] 之后不会有任何其他文本
  • @SreekeshOkky 那么 Strille 的回答很棒
  • 你到底想在这里做什么?您是否正在用 Javascript 编写自己的语言解析器?如果没有,我愿意打赌有一种更简单的方法可以实现你正在做的任何事情。

标签: javascript jquery string substring


【解决方案1】:
var result = input.replace( /\[[^\]]*\]$/, '' )

会成功的

【讨论】:

  • 为了让它接受这样的字符串,正则表达式的大小会增长两倍,当我需要这个时不要记住任何环绕。 (仅当变量名称由 catOnKeyboard 生成时)
【解决方案2】:

如果它是自动生成的,听起来它总是具有相同的形式。在这种情况下,您可以简单地在最后一次出现 "["

时剪切字符串
var str = "data[0]['x'][1]['y']";
str = str.substring(0, str.lastIndexOf("["));

【讨论】:

    猜你喜欢
    • 2021-12-11
    • 2011-11-18
    • 2020-03-12
    • 2017-08-19
    • 2019-01-22
    • 2011-01-19
    相关资源
    最近更新 更多