Ionic 2中如何将换行分隔的字符串转为单词数组?
在Ionic 2中,我们使用的是TypeScript(JavaScript的超集),实现思路和你熟悉的Java逻辑很像,只是语法上有一些区别,下面给你具体的实现方案:
完整实现代码
假设你的输入是换行符分隔的字符串(比如每个单词单独占一行),代码如下:
// 你的换行分隔字符串 const inputStr = `aa aaa aaaa aaaaa`; // 1. 先去除首尾空白,再按换行符分割(支持多个连续换行) let words = inputStr.trim().split(/\n+/); // 2. 遍历每个元素,清除非单词字符(和Java的replaceAll逻辑一致) words = words.map(word => word.replace(/[^\w]/g, '')); // 3. 调整数组索引从1开始:JS数组默认从0开始,所以在开头加一个占位元素 words.unshift(''); // 验证结果 console.log(words[1]); // 输出 "aa" console.log(words[2]); // 输出 "aaa" console.log(words[3]); // 输出 "aaaa" console.log(words[4]); // 输出 "aaaaa"
特殊情况处理
如果你的输入字符串其实是空格分隔的(比如你示例里写的aa aaa aaaa aaaaa),只需要把分割的正则改成匹配空白字符的/\s+/即可:
let words = inputStr.trim().split(/\s+/);
一些小说明
- TypeScript的
map方法替代了Java里的for循环,能更简洁地遍历处理每个数组元素 - 正则
/[^\w]/g和Java的[^\\w]作用完全一致,g标记表示全局替换所有匹配的非单词字符 trim()是为了避免字符串首尾的空白导致分割后出现空元素,让结果更干净
内容的提问来源于stack exchange,提问作者sesmajster
相关产品推荐
相关产品推荐

