简体   繁体   中英

How do I find words starting with a specific letter?

I want to find words which start with a specific letter in a string using the following code. The specific letter would be supplied by the user in a text box.

This is what I have:

<!DOCTYPE html>
<html>
<body>

<input id="srch" type="text" />
<button onClick=searchword()>Search</button>

<p id="wrd" > hallo, this is a test john doe .
Another tea house pole.
</p>

</body>

<script>

function searchword() {

var s = document.getElementById("wrd").innerHTML;
var p= document.getElementById("srch").value;

var regx = new RegExp("(?:^|\W)" + p + "(\w+)(?!\w)","gi");

var re = regx, match, matches = [];

while (match = re.exec(s)) {
  matches.push(match[0]);
}
alert(matches);


}
</script>
</html>

You can use word boundaries \b , the following example shows how to match every word starting with t

 var string ="hallo, this is a test john doe .Another tea house pole. Hey Tom." result = string.match(/(\bt\S+\b)/ig); //result = string.match(/(\st\S+)/ig); // alternative document.write(result);

var string ="hallo, this is a test john doe .Another tea house pole. Hey 
Tom."
result = string.match(/(\ba\S+\b)/ig);
document.write(result);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM