【发布时间】:2019-07-30 19:08:14
【问题描述】:
我正在使用这个非常棒且运行良好的辅助类。本质上,我将它插入到任何输入的角度反应形式中能够处理(请参阅下面的代码)我不是这样的 javascript 高手,但我已经尝试过尝试连接另一个这样的拆分,但没有运气 split('\'')
我想要得到的解决方案是将所有单词都大写,无论是否有“非常感谢的任何提示”。
const words = value.split(' ');
words.forEach((word, index) => {
const lower = Transform.lowercase(word);
words[index] = Transform.upperLetter(lower.substr(0, 1)) + lower.substr(1);
});
return words.join(' ');
整个助手类在下面
class Case {
upper: string;
lower: string;
constructor(upper, lower) {
this.upper = upper;
this.lower = lower;
}
}
export class Transform {
static exceptions = [
new Case('ß', 'ß')
];
static lowercase = (value: string): string => {
const letters = value.split('');
letters.forEach((letter, index) => {
letters[index] = Transform.lowerLetter(letter);
});
return letters.join('');
}
static capitalize = (value: string): string => {
const words = value.split(' ');
words.forEach((word, index) => {
const lower = Transform.lowercase(word);
words[index] = Transform.upperLetter(lower.substr(0, 1)) + lower.substr(1);
});
return words.join(' ');
}
static upperLetter = (lower: string): string => {
const _case = Transform.exceptions.find(c => c.lower === lower);
return _case ? _case.upper : lower.toUpperCase();
}
static lowerLetter = (upper: string): string => {
const _case = Transform.exceptions.find(c => c.upper === upper);
return _case ? _case.lower : upper.toLowerCase();
}
}
【问题讨论】:
-
你的问题是?
-
我想要得到的解决方案是将所有单词都大写,无论是否有'...。我会让这个更清楚
标签: javascript regex angular angular6