我正在使用 javascript 在 HTML 页面中搜索文本。我正在寻找的一件事是包含“en-dash”的 HTML 字符的行——在 HTML 页面中看起来像这样(它是一个项目列表,用一个破折号分隔):
项目一
项目二
–
项目三
如何在 Javascript 中搜索它?我尝试了以下方法,但不起作用:
itemList.search("–");
itemList.search("–");
我正在使用 javascript 在 HTML 页面中搜索文本。我正在寻找的一件事是包含“en-dash”的 HTML 字符的行——在 HTML 页面中看起来像这样(它是一个项目列表,用一个破折号分隔):
项目一
项目二
–
项目三
如何在 Javascript 中搜索它?我尝试了以下方法,但不起作用:
itemList.search("–");
itemList.search("–");
有一个函数 indexOf。这将返回您搜索的字符(或字符串)的位置,返回 -1 of 不存在。
用法:
var str = "this is a dash - ...";
alert(str.indexOf('-'));
// or
alert(str.indexOf("\u2013")); // EN DASH unicode
如果你不知道如何将 – 转换为 \u2013 你可以使用这个函数
function myUnescape(ampstr) {
const span = document.createElement('SPAN');
span.innerHTML = ampstr
return span.textContent
}
myUnescape('–') -> '-'
escape(myUnescape('–')) -> '%u2013'
搜索是每个字符串对象都可用的功能。它返回匹配的位置,如果没有找到 -1。
所以 "abc-de".search("-"); 返回 3,因为它位于位置 0123。