substr与substring

开发中经常遇到,字符串过长,无法完全显示的问题,这时候就需要截取我们所需要的长度,后面显示省略号或其他字符

每30个字符拼接</br>换行,使用substring(注意和subStr的区别)

var encodeSiteKey = "123456789012345678901234567890AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb99999"
var ss="";
var len = 30;
while (true) {
          if (encodeSiteKey.length > len) {
              var s = encodeSiteKey.substr(0, len);//拿到前面的30个字符
              encodeSiteKey = encodeSiteKey.substr(len); //拿到后面的30个字符
              ss = ss + s + "</br>" ;
              if (encodeSiteKey.length < 30) {
                  ss = ss + encodeSiteKey;
                  break;
              }
          }else {
              ss = encodeSiteKey;
              break;
          }
      }

总结:JS和SQL里建议使用substr来截取指定长度   java代码中截取使用substring要去数结束的脚标
java中截取指定字符到该行的末尾   int index = "hello".indexOf("e") 找到e首次出现的脚标,再进行"hello".substring(index)截取到行尾即可
JS中的substring和substr的区别(注意substring和substr必须是小写):
"hello".substring(from开始脚标, to结束脚标); //to可以省略,即截取到最后

"hello".substr(start字符串下标, length截取的长度); //length可以省略
SQL中SUBSTRING和SUBSTR的区别: (注意索引是从1开始)
SELECT SUBSTR('abcdefg',1,4指定子字符串的长度); //若省略4则截取到最后
SELECT substring('abcdefg',1,4指定子字符串的长度);//得到的结果是abcd,即从第一位开始,截取4位

说明在sql里 SUBSTR 和 SUBSTRING 结果是一样的
SELECT SUBSTR(str FROM pos FOR len);
SELECT SUBSTRING(str FROM pos FOR len);



猜你喜欢

转载自blog.csdn.net/qq_29883183/article/details/80047318