【问题标题】:JavaScript get the last character's position of the string inside the other stringJavaScript 获取字符串在另一个字符串中的最后一个字符的位置
【发布时间】:2016-06-24 13:05:39
【问题描述】:

我猜这个问题非常随意,但找不到真正的解决方案。

我有一个字符串

var full = 'hopaopGmailb3GkI'
var name = 'hopaop'
var service = 'Gmail'

我如何从原始字符串中获取b3GkI,假设名称和服务也是从字符串var full 解析的动态值。

如何获取var full字符串内变量service的最后一个字符的索引

我需要在var full 字符串中获取变量service 的最后一个字符的索引。 var index = full.indexOf(service); 返回第一个字符的索引(本例中为 6)。另外由于某种原因,我不能从字符串中排除名称+服务。

【问题讨论】:

  • var index = full.indexOf(service) + service.length
  • 赞成@VladuIonut,因为他似乎在我提交答案之前发表了评论=)

标签: javascript


【解决方案1】:

var index = full.indexOf(service) + service.length; 应该可以解决问题。我也觉得你可以想出一个正则表达式来完成这个,但我不是高手。

【讨论】:

    【解决方案2】:

    版本 1

    var full = 'hopaopGmailb3GkI';
    var name = 'hopaop';
    var service = 'Gmail';
    var result = full.substring(full.indexOf(service) + service.length)
    console.log(result);

    第 2 版

    你可以使用Split

    var full = 'hopaopGmailb3GkI';
    var name = 'hopaop';
    var service = 'Gmail';
    var result = full.split(service)[1];
    console.log(result);

    【讨论】:

      【解决方案3】:

      正则表达式的另一种选择

      var full = 'hopaopGmailb3GkI';
      var service = 'Gmail';
      
      console.log((function(source, service) {
          var match = new RegExp('(.+)' + service + '(.+)').exec(source);
          return {
              'service': service,
              'name': match[1],
              'token': match[2]
          };
      })(full, service));
      

      返回像{"service":"Gmail","name":"hopaop","token":"b3GkI"}这样的对象

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-03-04
        • 1970-01-01
        • 2020-06-12
        • 1970-01-01
        • 2011-07-07
        • 2011-08-17
        相关资源
        最近更新 更多