我如何String.StartsWith在JavaScript中编写等效的C#?
var haystack = 'hello world';
var needle = 'he';
haystack.startsWith(needle) == true
Run Code Online (Sandbox Code Playgroud)
注意:这是一个老问题,正如评论中指出的ECMAScript 2015(ES6)引入了该.startsWith方法.但是,在撰写此更新时(2015年),浏览器支持还远未完成.
很多时候我使用字符串match函数来知道字符串是否与正则表达式匹配.
if(str.match(/{regex}/))
Run Code Online (Sandbox Code Playgroud)
这有什么区别:
if (/{regex}/.test(str))
Run Code Online (Sandbox Code Playgroud)
他们似乎给出了相同的结果?
如何使用Javascript检查我的数据字符串是否以标点符号开头?我查看了Check是否字符串是一个标点字符,以及如何知道字符串在jQuery中以特定字符串开头/结尾?和其他一些人,但我不知道我哪里出错了.
这是我到目前为止的一小部分:
var punctuations = [".", ",", ":", "!", "?"];
if (d.endContext.startsWith(punctuations)) {console.log(d.endContext)
} else {console.log('false')};
Run Code Online (Sandbox Code Playgroud)
我只获得'假'回报,但如果我传入"." 在
if(d.endContext.startsWith('.'))
...
Run Code Online (Sandbox Code Playgroud)
我得到了正确的结果.我也试过了
String punctuations = ".,:;?!"
Run Code Online (Sandbox Code Playgroud)
比如检查字符串是否是建议的标点字符,但Chrome和Firefox都给了我错误消息(分别为"未捕获的语法错误:意外的标识符"和"SyntaxError:missing; before statement").看起来这个错误通常是在Javascript中编写多行字符串,我认为我不想这样做.d.endContext将打印多行字符串,但是当我传递"."时它工作正常,所以我不认为这是问题所在.