js字符串 数组处理

 

            /*字符串处理*/

 

            var a="Hello world!"

 

            console.log(a.indexOf("e"))       //1  l的index  不存在-1          lastIndexOf()

 

            console.log(a.search("w"))        //6  l的index  不存在-1        查找

 

            console.log(a.match("H"))         //存在返回本身 H  不存在null  匹配

 

            console.log(a.charAt(4))          //o  index=4的字母

 

            console.log(a.slice(1,4))         //ell  选取1-4 不含4

 

            console.log(a.split(""))          //划分 分裂  字符串转数组  

 

                                                    //["H", "e", "l", "l", "o", " ", "w", "o", "r", "l", "d", "!"]

 

            console.log(a.toLowerCase())      //转小写

 

            console.log(a.toUpperCase())      //转大写

 

            console.log(a.replace('lo',555))  //将lo替换成555

 

 

 

            console.log(a.substring(1,4))     //ell  选取1-4 不含4          如果是负数,将被替换成0

 

              substring(start,end)                                               

 

 substring 方法返回的子串包括 start 处的字符,但不包括 end 处的字符。
如果 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。
如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。
如果 start 或 end 为负数,那么它将被替换为 0。
 

 

            console.log(a.substr(1,4))        //ello  从1开始选4个  长度

 

              stringObject.substr(start [, length ])

 

如果start为负数,则start=str.length+start。
如果 length 为 0 或负数,将返回一个空字符串。
如果没有指定该参数,则子字符串将延续到stringObject的最后。

 

 

 

            

 

            /*删除前后空格*/

 

            var aaa="   Hello world!   "

 

            console.log(aaa.trim())           //Hello world!  

 

 

 

 

 

              /*删除所有空格*/

 

              var a = ' aa  1s  2dasdf   2sdf asdf  '
              function trimStr(str){return str.replace(/(\s)/g,"");}
              trimStr(a)          //aa1s2dasdf2sdfasdf  

 

            

 

            /*test()  正则匹配*/

 

            var str = "Visit W3School";

 

            var patt1 = new RegExp("W3School");

 

            console.log(patt1.test(str))      //true

 

            

 

==========================================================================================

 

 

 

            
/*数组处理*/
            var b=[1,2,3,4,5]
            console.log(b.join('-'))          //1-2-3-4-5  用指定字符串连接   数组字符串
            console.log(b.slice(1,3))         //选中[2,3]  不会影响原数组  
            console.log(b.slice(1))           //选中[2,3,4,5]
            console.log(b.splice(4))          //[5]  删除  提出
//            alert(b)                        //[1,2,3,4]  删除了第5个   会影响原数组
            
            
            /*splice万能操作*/
            var aa=[1,2,3,4,5]
                           aa.splice(1,2,'p')                  //从index=1删除2个再增加p   起始位置 删除长度 增加
            console.log(aa)                   //1,p,4,5
 
 
            var bb=[1,2,3,4,5]
            bb.splice(1,1,'p')                  //删除1个
            console.log(bb)                   //1,p,3,4,5    
 
 
            var cc=[1,2,3,4,5]
                           cc.splice(1,0,'p')               //删除0个
            console.log(cc)                  //1,p,2,3,4    
            
            
            /*push 结尾添加     pop结尾删除      shift 开头删除    unshift 开头添加    sort 排序*/
              var test=[1,2,3,4,5]    
    test.push(6,7,8)
    console.log(test)              //1,2,3,4,5,6,7,8
          
      
 
 
            
            /*倒序排列  反转 颠倒*/
            var c=[1,2,3,4,5]
            console.log(c.reverse())               //5,4,3,2,1  
            c.splice(1,3)                          //2,3,4
            console.log(c)                         //1,5
            
            
            /*数组排序*/
            var aaaa=[25,4,32,0,11,6]
            bbbb=aaaa.sort(function(n1,n2){
                return n1-n2;
            })
            console.log(bbbb)                     //[0, 4, 6, 11, 25, 32]
            
            /*以上封装成方法*/
            var f=[25,4,32,0,11,6]
            function sortFn(n1,n2){
                return n1-n2
            }
            console.log(f.sort(sortFn))         //[0, 4, 6, 11, 25, 32]
            
            
            /*数组转字符串*/
            var e=[1,2,3,4,5];
            var ee=e.join('')
            console.log(ee)           //12345 string 
            
            var j=[1,2,3,4,5];
            var jj=j.join('-')
            console.log(jj)           //1-2-3-4-5 string 
 
 
 

 

转载于:https://www.cnblogs.com/xiabingbing/p/4989218.html

解析以下换源信息,有错误指出来Get:1 https://mirrors.aliyun.com/debian bullseye InRelease [116 kB] Get:3 https://mirrors.aliyun.com/debian-security bullseye-security InRelease [27.2 kB] Get:2 http://mirrors.tuna.tsinghua.edu.cn/armbian bullseye InRelease [53.3 kB] Get:4 https://mirrors.aliyun.com/debian bullseye-updates InRelease [44.1 kB] Get:5 https://mirrors.aliyun.com/debian bullseye-backports InRelease [49.0 kB] Get:6 https://mirrors.aliyun.com/debian bullseye/main armhf Packages [10.8 MB] Get:7 http://mirrors.tuna.tsinghua.edu.cn/armbian bullseye/main all Packages [19.3 kB] Get:8 http://mirrors.tuna.tsinghua.edu.cn/armbian bullseye/main armhf Packages [536 kB] Get:9 http://mirrors.tuna.tsinghua.edu.cn/armbian bullseye/main armhf Contents (deb) [10.4 MB] Get:10 http://mirrors.tuna.tsinghua.edu.cn/armbian bullseye/main all Contents (deb) [40.3 kB] Get:11 http://mirrors.tuna.tsinghua.edu.cn/armbian bullseye/bullseye-utils all Packages [1,683 B] Get:12 http://mirrors.tuna.tsinghua.edu.cn/armbian bullseye/bullseye-utils armhf Packages [9,435 B] Get:13 http://mirrors.tuna.tsinghua.edu.cn/armbian bullseye/bullseye-utils all Contents (deb) [581 B] Get:14 http://mirrors.tuna.tsinghua.edu.cn/armbian bullseye/bullseye-utils armhf Contents (deb) [11.6 kB] Get:15 http://mirrors.tuna.tsinghua.edu.cn/armbian bullseye/bullseye-desktop armhf Packages [2,899 B] Get:16 http://mirrors.tuna.tsinghua.edu.cn/armbian bullseye/bullseye-desktop all Packages [661 B] Get:17 http://mirrors.tuna.tsin
03-10
<think>嗯,用户想让我检查修正他的Debian APT源配置。让我仔细看看他提供的配置信息。首先,他提到从阿里云镜像源获取bullseye的InRelease文件,但可能遇到了问题。根据他给出的引用,之前有关于GPG错误和无效仓库的讨论,比如引用[2]和[4]中的GPG签名问题,还有引用[1]中提到的仓库结构错误。 我需要回忆一下Debian的APT源配置结构。通常,APT源的行应该以deb或deb-src开头,然后是镜像URL、发行版名称和组件。例如,正确的格式是:deb http://mirror.aliyun.com/debian bullseye main contrib non-free。用户提供的配置中,URL后面直接跟了发行版名称,但可能缺少组件部分,这样会导致APT无法正确识别仓库的结构,从而出现错误,比如引用[1]中的问题。 另外,GPG错误可能是因为没有正确导入仓库的公钥。例如,引用[2]中的情况,用户需要运行类似sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <PUBKEY>的命令来导入缺失的密钥。用户提到的错误信息可能包含NO_PUBKEY,这时候需要提取对应的密钥ID导入。 还有一个可能性是发行版名称是否正确。bullseyeDebian 11的代号,确认用户是否确实在使用该版本,如果配置中的发行版名称与实际系统版本不符,也会导致错误。例如,如果系统是buster但配置成bullseye,就会有问题。 然后,检查镜像URL是否正确。阿里云的Debian镜像正确地址应该是https://mirrors.aliyun.com/debian/,结尾的斜杠可能影响路径解析。如果配置中没有斜杠,可能引发路径错误,如引用[3]中的安装源失效问题。 现在,用户提供的APT源配置行是:Get:1 https://mirrors.aliyun.com/debian bullseye InRelease ...,看起来可能缺少组件部分,或者发行版名称不正确。正确的配置应该包含main、contrib、non-free等组件。例如: deb https://mirrors.aliyun.com/debian/ bullseye main contrib non-free deb-src https://mirrors.aliyun.com/debian/ bullseye main contrib non-free 如果用户没有指定这些组件,APT可能无法找到正确的软件包路径,导致更新错误。此外,检查是否启用了deb-src源,但用户可能不需要源码仓库,可以注释掉以避免不必要的错误。 总结可能的错误点: 1. 缺少组件(main, contrib等) 2. 镜像URL路径不正确(缺少结尾斜杠) 3. 发行版名称与实际系统版本不匹配 4. 未导入GPG公钥 修正步骤应包括:验证URL结构,添加组件,检查发行版名称,导入公钥,然后运行sudo apt update测试。如果仍有GPG错误,按照引用中的方法处理,比如引用[4]提到的解决方案可能需要更新密钥环或暂时忽略签名检查。</think>### 检查修正APT源配置 #### 1. **当前APT源配置分析** 根据描述,当前配置中可能包含以下行: ``` deb [arch=amd64] https://mirrors.aliyun.com/debian bullseye InRelease ``` 或类似格式。这里存在几个问题: - **格式错误**:APT源的标准格式应为: ``` deb <镜像URL> <发行版名称> <组件> ``` 而`InRelease`是APT元数据文件,用于验证仓库签名,不应直接写在源配置中[^2][^4]。 - **组件缺失**:Debian仓库需明确指定组件(如`main`、`contrib`、`non-free`)。 - **镜像URL路径错误**:阿里云镜像的正确路径应为`https://mirrors.aliyun.com/debian/`(注意末尾的`/`),否则可能引发路径解析问题[^1][^3]。 #### 2. **修正后的APT源配置** 建议修改为以下格式(以阿里云镜像为例): ```bash # 主仓库 deb https://mirrors.aliyun.com/debian/ bullseye main contrib non-free deb-src https://mirrors.aliyun.com/debian/ bullseye main contrib non-free # 安全更新仓库 deb https://mirrors.aliyun.com/debian-security/ bullseye-security main contrib non-free deb-src https://mirrors.aliyun.com/debian-security/ bullseye-security main contrib non-free # 更新仓库 deb https://mirrors.aliyun.com/debian/ bullseye-updates main contrib non-free deb-src https://mirrors.aliyun.com/debian/ bullseye-updates main contrib non-free ``` #### 3. **处理GPG签名错误** 若出现类似`NO_PUBKEY 3B4FE6ACC0B21F32`的错误,需导入缺失的公钥: ```bash sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <缺失的PUBKEY> ``` 例如: ```bash sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32 ``` #### 4. **更新验证** ```bash sudo apt clean && sudo apt update ``` 若仍报错,可尝试: - 检查发行版名称是否与实际系统版本匹配(如`bullseye`对应Debian 11)。 - 暂时禁用问题仓库(在配置文件中注释掉相关行)。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值