天天看點

Nim語言字元串切片

Python中對字元串切片很友善.

比如a="Hello world"

a[1:5] 就是從第1個到第5個字元片段, (索引從0開始), ='ello', 長度=5-1

a[2:4] 就是2至4個字元, a[2:4]='ll', 長度=4-2

a[1:-2] 就是從第一個到倒數第2個字元,='ello wor'

a[1:0] ='', 想想為啥

a[1:] 就是從第一個字元到尾部所有字元(這個nim語言不行)

nim語言的切片

a="Hello world"

echo a[1..5]  #"ello " 有個空格, 輸出的時候看不到, 長度是5

echo a[2..4] # "llo", 長度為3, 長度和python的計算方式不一樣

#echo a[1..-2] #文法錯誤

echo a[1..0] #為""

#echo a[1..] #文法錯誤

倒數幾個字元

echo a[1..^0]  #ello world, 倒數0個和倒數1個是一樣的

echo a[1..^1]  #ello world

echo a[1..^2]  #ello worl # 倒數了1個

echo a[1..^3]  #ello wor  # 倒數了2個字元

for x in 0..a.len:
  echo "a[1..^",$x,"]=", '"', a[1..^x], '"'
           

a[1..^0]="ello world"

a[1..^1]="ello world"

a[1..^2]="ello worl"

a[1..^3]="ello wor"

a[1..^4]="ello wo"

a[1..^5]="ello w"

a[1..^6]="ello "

a[1..^7]="ello"

a[1..^8]="ell"

a[1..^9]="el"

a[1..^10]="e"

a[1..^11]=""

繼續閱讀