JavaScript:修改句子

标签 javascript string slice

我遇到了以下 javaScript 问题。

问题: 给你一个字符串 s,它应该是一个句子。然而,有人忘记在不同的单词之间添加空格,并且出于某种原因他们将每个单词的第一个字母大写。进行以下修改后返回该句子:

在单词之间放置一个空格。 将大写字母转换为小写字母。

示例

“CodefightsIsAwesome”,输出应该是“codefights is Awesome”;

“Hello”,输出应该是“hello”。

我当前的代码是:

现在,我的第二个 for 循环只是手动从字符串中切下各个部分。 如何使其动态化并在大写字符串前面插入“空格”?

最佳答案

您可以使用String.prototype.match()RegExp /[A-Z][^A-Z]*/g匹配A-Z后跟一个或多个不是 A-Z 的字符,或字符串末尾的字符;链条Array.prototype.map()调用.toLowerCase()在匹配的单词上,.join()参数 " "在结果字符串的匹配之间包含空格字符。

var str = "CodefightsIsAwesome";
var res = str.match(/[A-Z][^A-Z]*/g).map(word => word.toLowerCase()).join(" ");
console.log(res);

或者,按照@FissureKing的建议,您可以使用 String.prototype.repalce().trim().toLowerCase()链式

var str = "CodefightsIsAwesome";
var res = str.replace(/[A-Z][^A-Z]*/g, word => word + ' ').trim().toLowerCase();
console.log(res);

关于JavaScript:修改句子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42592717/

相关文章:

javascript - 文本/形状内斜 Angular 效果

c - 如何从动态字符串中删除换行符

c++ - 如何获得指向字符数组中第一个字符的常量指针?

python - 如何在 pandas 中查询 MultiIndex 索引列的值

Javascript数组包含数组但长度为0

javascript - Coffeescript - 从字符串调用函数,javascript 代码不起作用

Javascript拆分数组

string - &str 的生命周期使比较变得困难

python - NumPy 的 : assembling multiple slices into new array

c++ - 为什么 std::slice_array::operator= const?