我在网上浏览了所有内容,但找不到很好的答案。我需要编写一个函数来查找字符串/句子中的第一个单词。与html / css / javascript作业相关,在这里我需要为包含故事的长字符串中的第一个单词上色或标记。
我在想一个简单的for循环可以做到,但无法正常工作。
答案 0 :(得分:7)
String全局对象是字符串或字符序列的构造函数。
JavaScript字符串对象中的原型上有方法-MDN - String
String.prototype.split()-Reference (MDN)
split()方法通过使用指定的分隔符字符串确定将每个字符串拆分为多个子字符串的方式,将一个字符串对象拆分为一个字符串数组。
因为要按单词拆分,所以应按“空格”拆分字符串。 如您所见,字符串的split方法返回一个数组,因此数组中的第一项将是第一个单词。
'Some String Here'.split(' ')[0];
祝你好运!
// Get Results Element
var div = document.querySelector('.results');
// Some string
var someString = 'Hi Hello JavaScript World';
function renderFirstWorkAsMarked(string, color) {
var splitedString = string.split(' ');
var wrapper = document.createElement('div')
var marked = document.createElement('span');
var restString = document.createTextNode(splitedString.slice(1).join(' '))
marked.style.color = color;
marked.innerHTML = `${splitedString[0]} `;
wrapper.appendChild(marked)
wrapper.appendChild(restString)
return wrapper
}
// append on screen
div.append(renderFirstWorkAsMarked(someString, 'red'))
// This is example code for your full question.
<div class="results"></div>
答案 1 :(得分:2)
这可以解决问题。它将字符串分隔为空格,然后使用索引为您提供第一个单词。
"Plane Jane Mane".split(" ")[0]
这是一个示例,第一个控制台日志将向您显示形成的数组,第二个将选择该数组中的第一个单词:
var word = "Plane Jane Mane"
console.log(word.split(" "))
console.log(word.split(" ")[0])
答案 2 :(得分:1)
502 bad gateway
答案 3 :(得分:0)
我用ES6
箭头功能回答了您的问题。参见下面的代码:
const firstWord = string => string.split(' ')[0];
或者您可以使用regex
,但我更喜欢第一个功能:
const firstWord = string => string.match(/^[\w\d]+/gs)[0];
答案 4 :(得分:0)
首先,拆分句子。其次,拆分单词并优先学习:
yourtext
.split(/(?<!\w\.\w.)(?<![A-Z][a-z]\.)(?<=\.|\?)\s/g)
.map(w => w.split(/((\b[^\s]+\b)((?<=\.\w).)?)/g)[1])
示例
我在网上浏览了所有内容,但找不到很好的答案。我需要编写一个函数来查找字符串/句子中的第一个单词。与html / css / javascript作业有关,在这里我需要为包含故事的长字符串中的第一个单词涂色或标记。
我在想一个简单的for循环可以做到,但无法正常工作。
结果
我有,我有