标题大小写使用TypeScript的字符串



TypeScript是否在字符串上提供任何内置方法来大写或用标题大小写字符串?

我知道方法toLocaleLowerCase()LowerCase()toLocaleUpperCase()UpperCase()。TypeScript是否有其他大小写转换方法?

TypeScript中没有在JavaScript中找不到的其他方法或API。

我相信你可以找到一个npm包或示例代码,用JavaScript将其命名为一个可以通过TypeScript使用的字符串。

TypeScript是否在字符串上提供了任何内置方法来大写或以标题大小写字符串?

我不知道。

看看Angular团队是如何使用TypeScript为他们的TitleCasePipe做这件事的。

大约有40个介词,但这个例子只包括几个例子:

TitleCase(value: string): any {
    if (!value) return null;
    let words = value.split(' ');
    for (let i=0; i < words.length; i++) {
        let word = words[i];
        // skip first word preposition
        if (i > 0 && this.isPreposition(word)) 
            words[i] = word.toLowerCase();
        else
            words[i] = this.toTitleCase(word);
    }
    return words.join(' ');
}
private toTitleCase(word:string):string {
    return word.substring(0,1).toUpperCase() + 
           word.substring(1).toLowerCase();
}
private isPreposition(word:string):boolean {
    let prepositions = ['if','the','a','on','in','of','or','and'];
    return prepositions.includes(word.toLowerCase())
}

最新更新