我需要编写一个脚本,在textarea中读取一系列字符串和输出,只显示以字符“b”开头的字符串。
我使用split元素创建单独的标记,但我不知道如何搜索创建的标记。我需要它从浏览器中的一个输入句子中取出单词,并仅返回以字母“b”开头的那些
我应该使用什么函数来搜索从split函数创建的标记,还是有更简单的方法来搜索子字符串以打印出我需要的结果?
function findStrings(inputString) {
var inputArray = [],
inputArrayLen,
holdArray = [],
pat = /\bb/i;
inputArray = inputString.split(" ");
inputArrayLen = inputArray.length;
for (var i = 0 ; i < inputArrayLen; i++) {
if (pat.test(inputArray[i])) {
holdArray.push(inputArray[i])
}
}
return holdArray.join(',')
var inputString = document.getElementById( "inputField" ).value
var results = document.getElementById( "results" );
var outputString = findStrings(inputString)
results.innerHTML = "<p>The sentence split into words is: </p>" +
"<p class = 'indent'>" + outputString + "</p>";
}
// register click event handler for searchButton
function start()
{
var splitButton = document.getElementById( "splitButton" );
splitButton.addEventListener( "click", splitButtonPressed, false );
} // end function start
window.addEventListener( "load", start, false );
答案 0 :(得分:0)
您可以使用chatAt功能。
for (i = 0; i < tokens.length; i++) {
var mystring = tokens[i];
if (mystring.charAt(0) == 'b') {
// append to textarea
}
}
charAt(0)获取字符串的第一个字符。为每个子字符串执行此操作。
答案 1 :(得分:0)
通过split()
将句子拆分为令牌,您将走上正确的道路。然后,您将获得句子中所有标记的数组。剩下要做的就是迭代该数组并过滤掉任何不以字母b
开头的标记,如下所示:
var sentence = "My baby has a nice belly";
var tokens = sentence.split(" ");
var bTokens = tokens.filter(function(token) {
return /^b/.test(token);
}).join(" ");
document.getElementById("mytextarea").value = bTokens;
答案 2 :(得分:0)
您可以使用此函数搜索字符串并返回包含以b或B开头的所有单词的字符串。
function findStrings(inputString) {
var inputArray = [],
inputArrayLen,
holdArray = [],
pat = /\bb/i;
inputArray = inputString.split(" ");
inputArrayLen = inputArray.length;
for (var i = 0 ; i < inputArrayLen; i++) {
if (pat.test(inputArray[i])) {
holdArray.push(inputArray[i])
}
}
return holdArray.join(',')
}
然后你可以像这样将
添加到HTML中var inputField = document.getElementById( "inputField" );
var results = document.getElementById( "results" );
function splitButtonPressed (){
var inputString = inputField.value,
outputString = findStrings(inputString);
results.innerHTML = "<p>The sentence split into words is: </p>" +
"<p class = 'indent'>" + outputString + "</p>";
}
// register click event handler for searchButton
function start() {
var splitButton = document.getElementById( "splitButton" );
splitButton.addEventListener( "click", splitButtonPressed, false );
} // end function start
window.addEventListener( "DOMContentLoaded", start, false );