如何在Flutter / dart中删除字符串中的空格并将每个单词的首字母大写

y53ybaqx  于 2023-07-31  发布在  Flutter
关注(0)|答案(2)|浏览(125)

我想删除字符串中白色,比如单词之间的额外空格。我试过trim()方法。但它只删除了开头和结尾的空格,我想删除字符串之间的空格,我想把每个单词的第一个字母转换为大写。示例:var name = ' Aneesh devala 'Aneesh Devala
我试过this answers,但它不适合我的。

tyky79it

tyky79it1#

我希望这段代码能为你工作。

String getCapitalizedName(String name) {
final names = name.split(' ');
String finalName = '';
for (var n in names) {
  n.trim();
  if (n.isNotEmpty) {
    finalName += '${n[0].toUpperCase()}${n.substring(1)} ';
  }
}
return finalName.trim();}

字符串

flvtvl50

flvtvl502#

您可以通过定义capitalize()方法来大写字符串中的每个单词。

extension StringExtensions on String {
  String capitalize() {
    return '${this[0].toUpperCase()}${substring(1)}';
  }
}

字符串
如何使用?

String myString = 'capitalized the first letter of every word the string';
String capitalizedString = myString.split(' ').map((word) => word.capitalize()).join(' ');


代码示例:

class CapitalizeText extends StatefulWidget {
  const CapitalizeText({super.key});

  @override
  State<CapitalizeText> createState() => _CapitalizeTextState();
}

class _CapitalizeTextState extends State<CapitalizeText> {
  @override
  Widget build(BuildContext context) {

    String myString = 'capitalized the first letter of every word the string';
    String capitalizedString =
        myString.split(' ').map((word) => word.capitalize()).join(' ');

    return Scaffold(
      body: Text(
        'Capitalized String - $capitalizedString',
        style: const TextStyle(fontWeight: FontWeight.w200, fontSize: 20),
      ),
    );
  }
}

extension StringExtensions on String {
  String capitalize() {
    return '${this[0].toUpperCase()}${substring(1)}';
  }
}

相关问题