请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

splitMapJoin是怎么使用的?

split的衍生方法splitMapJoin是怎么使用的?写了好几个demo还是没有理解这个方法的规则

正在回答 回答被采纳积分+3

1回答

CrazyCodeBoy 2020-11-11 09:45:17

splitMapJoin()主要是用来分割字符串,转换,然后连接字符串,它可以在一条语句中完成3件事:

String splitMapJoin(
    Pattern pattern,
    {String onMatch(Match match), String onNonMatch(String nonMatch)}
);
  • pattern可以是一个String或一个RegExp对象。

  • onMatch(可选):将每个匹配项转换为字符串。

  • onNonMatch(可选):将每个不匹配的部分转换为字符串。

String result = 'devio2020.com'.splitMapJoin(
  RegExp(r'[0-9]+'),
  onMatch: (m) => '_${m.group(0)}_',
  onNonMatch: (n) => '[${n}]');

print(result);
// [devio]_2020_[.com]

result = 'devio2020.com'.splitMapJoin(
  RegExp(r'[0-9]+'),
  onNonMatch: (n) => '[${n}]');

print(result);
// [devio]2020[.com]

result = 'devio2020.com'.splitMapJoin(
  RegExp(r'[0-9]+'),
  onMatch: (m) => '_${m.group(0)}_');

print(result);
// devio_2020_.com


1 回复 有任何疑惑可以回复我~
  • 提问者 慕田峪3546164 #1
    是否可以理解为:根据pattern的拆分规则,与pattern匹配的部分,按照onMatch的规则替换,与pattern不匹配的部分,按照onNonMatch的规则替换
    回复 有任何疑惑可以回复我~ 2020-11-11 11:16:29
  • CrazyCodeBoy 回复 提问者 慕田峪3546164 #2
    可以这么理解。
    回复 有任何疑惑可以回复我~ 2020-11-12 09:17:51
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号