将字符串的第一个字母和点后的第一个字母大写
capitalize first letter of string and first letter after dot
我有这个字符串,例如:
String text = 'hello. i am Gabriele. i am 21 years old!';
我希望第一个字母大写,“.”之后的每个第一个字母都大写。要大写。
有人知道我该怎么做吗?
谢谢:)
我建议您遍历字符串。
示例:
Char[] arr = text.toCharArray();
Boolean toUpper = true;
arr[0] = arr[0].toUpper();
for(char c in arr)
{
if(c.equals('.')c=c.toUpper();
}
text=c.toString();
根据您想使用的语言,您必须适应它。
我已经在您使用通过参考语言传递的情况下写了这篇文章。
第一个字母和点后的所有第一个字母都将大写。
void main() {
String text = 'hello. i am Gabriele. i am 21 years old!';
String capitalized = capitalizeAfterDot(text);
print(capitalized); // Hello. I am Gabriele. I am 21 years old!
}
String capitalizeAfterDot(String text) {
final split = text.replaceAll(RegExp(r'\.\s+'), ' #').split(' ');
String result = split.reduce((a, b) {
if (b.startsWith('#')) {
return a + b.replaceRange(0, 2, '. ' + b[1].toUpperCase());
}
return a + ' ' + b;
});
return result.replaceRange(0, 1, result[0].toUpperCase());
}
或
String capitalizeAll(String text) {
return text.replaceAllMapped(RegExp(r'\.\s+[a-z]|^[a-z]'), (m) {
final String match = m[0] ?? '';
return match.toUpperCase();
});
}
我有这个字符串,例如:
String text = 'hello. i am Gabriele. i am 21 years old!';
我希望第一个字母大写,“.”之后的每个第一个字母都大写。要大写。
有人知道我该怎么做吗? 谢谢:)
我建议您遍历字符串。
示例:
Char[] arr = text.toCharArray();
Boolean toUpper = true;
arr[0] = arr[0].toUpper();
for(char c in arr)
{
if(c.equals('.')c=c.toUpper();
}
text=c.toString();
根据您想使用的语言,您必须适应它。
我已经在您使用通过参考语言传递的情况下写了这篇文章。
第一个字母和点后的所有第一个字母都将大写。
void main() {
String text = 'hello. i am Gabriele. i am 21 years old!';
String capitalized = capitalizeAfterDot(text);
print(capitalized); // Hello. I am Gabriele. I am 21 years old!
}
String capitalizeAfterDot(String text) {
final split = text.replaceAll(RegExp(r'\.\s+'), ' #').split(' ');
String result = split.reduce((a, b) {
if (b.startsWith('#')) {
return a + b.replaceRange(0, 2, '. ' + b[1].toUpperCase());
}
return a + ' ' + b;
});
return result.replaceRange(0, 1, result[0].toUpperCase());
}
或
String capitalizeAll(String text) {
return text.replaceAllMapped(RegExp(r'\.\s+[a-z]|^[a-z]'), (m) {
final String match = m[0] ?? '';
return match.toUpperCase();
});
}