我试图获取每行的第一个元素,无论是数字还是字符串,但是当该行以数字开头时,我当前的尝试仍然包含它:
const totalWords = "===========\n\n 1-test\n\n 2-ests \n\n 1 zfzrf";
const firstWord = totalWords.replace(/\s.*/,'')
我得到的输出:
1-test
2-ests
1 zfzrf
我想要的输出:
1
2
1
最佳答案
或者,如果您对非正则表达式版本感兴趣(应该更快)
var str = "===========\n\n 1-test\n\n 2-ests \n\n 1 zfzrf";
var res = str.split("\n");
for (row of res) {
let words = row.trim().split(' ');
let firstWord = words[0].trim();
// get first character, parse to int, validate it is infact integer
let element = firstWord.charAt(0);
if (Number.isInteger(parseInt(element))) {
console.log('Row', row);
console.log('Element: ', element);
}
}
关于javascript - 正则表达式获取每行的第一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55144487/