如何在 javascript/jquery 中拆分字符串并测试字符串的开头? [复制]

Posted

技术标签:

【中文标题】如何在 javascript/jquery 中拆分字符串并测试字符串的开头? [复制]【英文标题】:How do I spit a string and test for the start of a string in javascript/jquery? [duplicate] 【发布时间】:2011-05-10 22:59:39 【问题描述】:

可能的重复:Splitting in string in javascriptjavascript startswith

你好 我在 javascript 中有一个字符串,我需要对其进行操作。字符串格式如下

xxx_yyy

我需要:

在c#中重现string.StartsWith("xxx_")的行为 将字符串分成两个字符串,就像我在 c# 中使用 string.Split("_") 所做的那样

有什么帮助吗?

【问题讨论】:

这是另外两个问题的重复:***.com/questions/2198713/… 和 ***.com/questions/646628/javascript-startswith 【参考方案1】:

JavaScript 已内置拆分。

'xxx_yyy'.split('_'); //produces ['xxx','yyy']

String.prototype.startsWith = function( str ) 
  return this.indexOf(str) == 0;



'xxx_yyy'.startsWith('xxx'); //produces true

【讨论】:

这将无法正确测试,因为您正在使用字符串而不是正则表达式进行测试。 当然,在我发布这个之后,还有 3 个答案。我应该尽量避免简单的问题。 :(【参考方案2】:

给你:

String.prototype.startsWith = function(pattern) 
   return this.indexOf(pattern) === 0;
;

split 已经定义为 String 方法,您现在可以像这样使用新创建的 startsWith 方法:

var startsWithXXX = string.startsWith('xxx_'); //true
var array = string.split('_'); //['xxx', 'yyy'];

【讨论】:

【参考方案3】:

您可以使用 JavaScript 的 string.indexOf() 轻松模拟 StartsWith():

var startsWith = function(string, pattern)
    return string.indexOf(pattern) == 0;

而且你可以简单地使用 JavaScript 的 string.split() 方法进行拆分。

【讨论】:

【参考方案4】:

这里不需要 jQuery,只需简单的 JavaScript 即可满足您的所有需求,.indexOf().split(),例如:

var str = "xxx_yyy";
var startsWith = str.indexOf("xxx_") === 0;
var stringArray = str.split("_");

You can test it out here.

【讨论】:

以上是关于如何在 javascript/jquery 中拆分字符串并测试字符串的开头? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

使用 JavaScript 或 jQuery 拆分文件

如何在 javascript/jquery 中发出 ajax 请求

JavaScript / jQuery:如何在 Firefox 中获取选定的文本

如何在 JavaScript / jQuery 中合并两个函数?

如何在 JavaScript/jQuery 中查找数组是不是包含特定字符串?

如何在 Javascript/jQuery 中重置超时?