例如一串字符串str = “0123456789”,wen截取第一位到第三位的字符,那么是“012”还是“123”呢?
这个不好说,但是我们一般认为,1到3位说的是下标1-3,而不是通常意义的第1-3个字符
规范的文档,应该写清楚,从0开始算,或者based on zero.
如果没有说,一般来说我们应该谴责文档的编写者。
看文档里面:
https://www.runoob.com/java/java-string-substring.html beginIndex -- 起始索引(包括), 索引从 0 开始
。
https://www.runoob.com/python/att-string-index.html beg -- 开始索引,默认为0
。
说的都是清清楚楚的。
python没有0位,0-3实现的是1-3位的字符,c语言有0位,0-3实现的是1-4位的字符