Javascript 字符串换行
Javascript strings wrap
我正在尝试为以下测试找到解决方案:您应该能够在给定数量的列处换行,而不会破坏单词
输入字符串为:
var inputStrings = [
'abcdef abcde abc def',
'abc abc abc',
'a b c def'
];
输出应为:
var outputStrings = [
'abcdef'nabcde'nabc'ndef',
'abc'nabc'nabc',
'a b c'ndef'
];
我想出了这个 jsfiddle,它通过了 3 个测试中的 2 个:https://jsfiddle.net/ticuclaudiu/yh269rc0/5/
function wordWrap(str, cols) {
var formatedString = '',
wordsArray = [];
wordsArray = str.split(' ');
for(var i = 0; i < wordsArray.length; i++) {
if(wordsArray.indexOf(wordsArray[i]) === 0) {
formatedString += wordsArray[i];
} else {
if(wordsArray[i].length > 1) {
formatedString += '/n' + wordsArray[i];
} else {
formatedString +=' ' + wordsArray[i];
}
}
}
console.log(formatedString);
}
//wordWrap('abcdef abcde abc def', 5);
wordWrap('abc abc abc', 5);
//wordWrap('a b c def', 5);
//'abcdef abcde abc def' | 'abcdef'nabcde'nabc'ndef',
//'abc abc abc' | 'abc'nabc'nabc',
//'a b c def' | 'a b c'ndef'
但是我不知道如何通过第二个("abc abc abc");
它必须是纯粹的javascript。
有什么指示吗?
谢谢。
答案似乎是:
function wordWrap(str, cols) {
var formatedString = '',
wordsArray = [];
wordsArray = str.split(' ');
formatedString = wordsArray[0];
for (var i = 1; i < wordsArray.length; i++) {
if (wordsArray[i].length > cols) {
formatedString += ''n' + wordsArray[i];
} else {
if (formatedString.length + wordsArray[i].length > cols) {
formatedString += ''n' + wordsArray[i];
} else {
formatedString += ' ' + wordsArray[i];
}
}
}
console.log(formatedString);
}
wordWrap('abcdef abcde abc def', 5);
wordWrap('abc abc abc', 5);
wordWrap('a b c def', 5);
你可以在这里看到JSFIDDLE https://jsfiddle.net/ticuclaudiu/yh269rc0/13/
你可以尝试像这样用正则表达式来做
var input = [
'abcdef abcde abc def',
'abc abc abc',
'a b c def'
];
var output = input.map(function(val){
return val.replace(/(^|[ ])[^ ]{2,}([ ]|$)/g,function(val2){
return val2.replace(' ','''n')
})
})
console.log(output) // ["abcdef'nabcde'nabc'ndef", "abc'nabc'nabc", "a b c def"]
相关文章:
- 在 JS 中添加字符串之前强制换行
- JavaScript字符串中的换行符也保存为.txt
- jQuery:如何添加<br/>在不同的字符串中换行以分隔2中的句子
- 如何删除字符串开头和结尾的换行符
- 如何将CSS跨度应用于没有换行符的串联字符串
- 获取字符串中最后一个换行符的最有效方法是什么
- 在不使用HTML的情况下对字符串中的换行符进行编码
- 如何拆分由换行符分隔的字符串
- 字符串中的字符串可以'不能用换行符分隔
- 从ES6到HTML的多行模板字符串不包括换行符
- Javascript 字符串换行
- 在 JavaScript 和 PHP 中用逗号换行分隔字符串
- 换行符及其在 Javascript 中的字符串连接中的作用
- 换行符导致 JavaScript 中的错误“未终止字符串文字”
- JSON 字符串中的换行符不会出现在 JS 对象中
- 如何用每五个单词换行一行来分解 javascript 字符串
- 包含换行符的字符串
- 如何处理一个新的换行字符串并将其放入变量中
- 替换换行字符串- ' '在javascript
- 我如何从html textarea插入换行字符串到html表