要求:

把指定字元替換成隨機數,效果如下↓↓↓

如「AAABBAAACAAADAAEAAAA」,把"AAA"替換成隨機數。

分享兩種套路,第一個是比較常規的玩法,第二個套路是遞歸玩法。


常規套路:

首先要把字元串按要替換的字元拆分成list

把拆出來的表再處理下,把空的值排除

再接著遍歷這個list,要在每一個值前面連接一個隨機數。

最後燈把列表合併,完成。


遞歸套路:

何為遞歸?大概就是一個函數在內部調用自身,那麼這個就是遞歸了。很繞口也不好解理。如果有興趣建議百度一下,大叔理論很爛,解釋不清。

在施總的博客裏照搬了個案例↓↓↓

fact = (n)=> if n=1 then 1 else @fact(n-1)*n=>fact(5)

=>fact(4)*5//第一次
=>fact(3)*4*5//第二次
=>fact(2)*3*4*5//第三次
=>fact(1)*2*3*4*5//第四次
=>1*2*3*4*5//過程
=>120//結果

回歸正題

思路定位要替換的字元位置,如果能定位到要替換的字元就遞歸進來再替換,直到定位不到要替換的字元。


遞歸真的有點繞,大叔也不敢保證這次分享的案例沒BUG,如有歡迎留言指出。

如果您沒能看懂代碼,也不要緊,因為目前國內會玩M語言的人並不算多,如果你對M感興趣的話,建議您可以拜讀一下施總的博客Power Query愛好者-pqfans_M語言學習資料_教程_分享_論壇_博客,是目前國內唯一一個可以免費學習到M的地方。

感謝觀看,Thanks!


推薦閱讀:
查看原文 >>
相關文章