css 如何将字符串的第一个字母大写并将其余字母大写

j2cgzkjk  于 2023-10-21  发布在  其他
关注(0)|答案(9)|浏览(146)

我试着把句子中第一个单词的第一个字母大写。
这是tsx文件{ this.text({ id:downloadPriceHistory,默认消息:'下载价格历史记录' })}上面显示的id来自数据库,在那里它可以以各种形式发送到API。
我试着在下面使用这个逻辑:

export function titleCase(string) {
    string = 'hello World';
    const sentence = string.toLowerCase().split('');
      for (let i = 0; i < sentence.length; i++) {
          sentence[i] = sentence[i][0].toUpperCase() + sentence[i];
    }
     return sentence;

}

例如,对于输入"Download Price History",结果应该是"Download price history"

hi3rlvi2

hi3rlvi21#

您只需要将第一个字母大写,并将其连接到转换为“”的字符串的其余部分。

function titleCase(string){
  return string[0].toUpperCase() + string.slice(1).toLowerCase();
}
console.log(titleCase('Download Price History'));

这也可以通过CSS来实现,将整个元素的text-transform设置为lowercase,并使用::first-letter伪元素将text-transform设置为uppercase

.capitalize-first {
  text-transform: lowercase;
}
.capitalize-first::first-letter {
  text-transform: uppercase;
}
<p class="capitalize-first">Download Price History</p>
xjreopfe

xjreopfe2#

使用CSS:

p {
  text-transform: lowercase;
}
p::first-letter {
  text-transform: uppercase;
}

使用JS:

const capitalize = (s) => s.charAt(0).toUpperCase() + s.slice(1).toLowerCase();
dfuffjeb

dfuffjeb3#

使用ES6 template strings功能:

const titleCase = str => `${str[0].toUpperCase()}${str.slice(1).toLowerCase()}`
taor4pac

taor4pac4#

试着把剩下的字符串也做成小写。

export function titleCase(string) {
     return string[0].toUpperCase() + string.substr(1).toLowerCase()
}
mzaanser

mzaanser5#

为什么不直接将整个字符串的首字母改为小写,而将小写作为新字符串的首字母呢?

function titleCase(string) {
    let sentence = string.toLowerCase();
    let titleCaseSentence = sentence.charAt(0).toUpperCase() + sentence.substring(1, sentence.length);
    return titleCaseSentence;
}

(Also,你正在用第一行擦除函数的参数)

string = 'hello World';
kqhtkvqz

kqhtkvqz6#

我的建议是,你得到字符串的第一个元素,并把它放在pixel中,然后得到字符串的其余部分,并应用pixel函数。

titleCase(string) {
  return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();
}
3okqufwl

3okqufwl7#

如果你想要正则表达式,在一行中:

str.replace(/^(\w)(.+)/, (match, p1, p2) => p1.toUpperCase() + p2.toLowerCase())

说明

它将字符串分为两组,第一个字符(\w)和其余字符(.+),大写字母为第一组,小写字母为第二组。

let str = 'the quick brown FOX'

str = str.replace(/^(\w)(.+)/, (match, p1, p2) => p1.toUpperCase() + p2.toLowerCase())

console.log(str)
kyvafyod

kyvafyod8#

已经提供了很好的答案,但我只是添加了一个不同的方法,使用替换,以防有人需要它。

export function titleCase(string) {
string = 'hello World';
const sentence = string.toLowerCase();
let normalCaseString = sentence.replace(sentence[0], sentence[0].toUpperCase();
}
 return normalCaseString;
}

这样做的方式是我们利用replace()字符串方法将sentence变量中的第一个字母与它的升级版本交换。replace方法有两个参数,第一个是要替换的部分,第二个是要替换的部分。
型号:replace(pattern, replacement)
According to MDNpattern
可以是字符串或具有Symbol.replace方法的对象-典型的例子是正则表达式。任何没有Symbol.replace方法的值都将被强制转换为字符串。

ryoqjall

ryoqjall9#

一个简单的CSS:

.capitalize-first {
  text-transform: capitalize;
}

相关问题