Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从字符串中提取一段文本——Javascript_Javascript - Fatal编程技术网

从字符串中提取一段文本——Javascript

从字符串中提取一段文本——Javascript,javascript,Javascript,我正在使用document.getElementById从获取innerHTML。它会返回这样的结果 第一单元第二课:大数排序 我想使用Javascript从该字符串中提取“第1单元,第2课”部分。但它并不总是“第一单元,第二课”。它可能是“第10单元,第8课”,所以使用substring()似乎不太合适 期望的结果… 第1单元第5课:对大数进行排序应产生“第1单元第5课” 第11单元,第28课:对大数进行排序应产生“第11单元,第28课” 我对Javascript一窍不通,所以如果我缺少一个简

我正在使用
document.getElementById
获取
innerHTML
。它会返回这样的结果

第一单元第二课:大数排序

我想使用Javascript从该字符串中提取“第1单元,第2课”部分。但它并不总是“第一单元,第二课”。它可能是“第10单元,第8课”,所以使用
substring()
似乎不太合适

期望的结果…

第1单元第5课:对大数进行排序
应产生“第1单元第5课”

第11单元,第28课:对大数进行排序
应产生“第11单元,第28课”

我对Javascript一窍不通,所以如果我缺少一个简单的函数,请告诉我它是什么


编辑:或者,如果有办法在“:”之后删除所有内容,我也可以使用它。

您可以使用textContent,它只返回没有html的文本

因此,如果您有元素:

第一单元第二课:大数排序

你可以看到“第1单元,第2课”的部分如下:

document.getElementById('test').textContent.split(":")[0];

您可以使用textContent,它只返回没有html的文本

因此,如果您有元素:

第一单元第二课:大数排序

你可以看到“第1单元,第2课”的部分如下:

document.getElementById('test').textContent.split(":")[0];

您可以使用javascript的正则表达式模式匹配函数:

var pattern = /.*(Unit \d+, Lesson \d+):/
var el = document.getElement....innerHTML
var match = pattern.match(el)[1];
alert(match)

您可以使用javascript的正则表达式模式匹配函数:

var pattern = /.*(Unit \d+, Lesson \d+):/
var el = document.getElement....innerHTML
var match = pattern.match(el)[1];
alert(match)

我喜欢它的外观,但是当我尝试它时,我得到了“TypeError:document.getElementById(…).innerText未定义”。对,innerText可能不适用于firefox,请改用textContent。我更新了答案我们赢了!谢谢我喜欢它的外观,但是当我尝试它时,我得到了“TypeError:document.getElementById(…).innerText未定义”。对,innerText可能不适用于firefox,请改用textContent。我更新了答案我们赢了!谢谢