gpt4 book ai didi

flutter - 如何在 Dart 中使用正则表达式拆分九个字符的字符串?

转载 作者:IT王子 更新时间:2023-10-29 07:02:55 28 4
gpt4 key购买 nike

我有一个名为 pin 的 String,其值类似于:123456789,我需要执行以下操作:

我有什么:

String pin = "123456789";

手术后我想要的:

String result = "123-456-789";

我现在在做什么:

  String _formatReferenceCode(String code){
final list = code.split("");
String part1 = list.sublist(0, 3).join();
String part2 = list.sublist(3, 6).join();
String part3 = list.sublist(6, 9).join();
return "$part1-$part2-$part3";
}

String result = _formatReferenceCode(referenceCode);

// it prints: "123-456-789"

我当前的代码有效,但我想知道是否有更好的方法来做到这一点。先谢谢你。

最佳答案

作为一个选项,您可以使用正则表达式 negative lookahead

  String _formatReferenceCode(String code) {
final Pattern pattern = RegExp(r'(.{3})(?!$)');
return code.replaceAllMapped(pattern, (m) => '${m[0]}-');
}

关于flutter - 如何在 Dart 中使用正则表达式拆分九个字符的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56629253/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com