修改字符串中数字

/**
     * 设置在字符串中的数字
     * @param _str json配置文件中的字符串
     * @param _number 要查找的json文件中的数字
     * @param _newNumber 修改后的数字数组要和_number下标位置对应
     */
    setNumberInString(_str: string, _number: any, _newNumber: any):string {
        let _arr = [];
        for (let i = 0; i < _number.length; i++) {
            let _data = { indexOf: 0, lastIndexOf: 0 };
            _data.indexOf = _str.indexOf(_number[i]);
            _data.lastIndexOf = _data.indexOf+_number[i].toString().length;
            _arr.push(_data);
        }
        let _obj = this.sortArr(_arr, _newNumber);
        _arr = _obj.indexArr;
        _newNumber = _obj.newNumber;
        let _newStr;
        for (let i = 0; i < _arr.length; i++) {
            if (i == 0 ) {
                if(_arr.length==1){
                    _newStr = _str.substring(0, _arr[i].indexOf) + `${_newNumber[i]}`+_str.substring(_arr[i].lastIndexOf,_str.length - 1);
                }else{
                    _newStr = _str.substring(0, _arr[i].indexOf) + `${_newNumber[i]}`;
                }
                
            } else if (i == _arr.length - 1) {
                    _newStr += _str.substring(_arr[i - 1].lastIndexOf, _arr[i].indexOf)+`${_newNumber[i]}`+_str.substring(_arr[i].lastIndexOf,_str.length-1);
            } else {
                _newStr+=_str.substring(_arr[i-1].lastIndexOf,_arr[i].indexOf)+`${_newNumber[i]}`;
            }
        }
        console.log(_newStr);
        return _newStr;
    }
/**
     * 不同语言数字位置不同,给数字排序
     * @param _arr 拿到数字下标的数组
     * @param _newNumber 修改后的数字数组
     * @returns 
     */
    sortArr(_arr: any, _newNumber: any) {
        var _minIndex, _temp;
        for (let i = 0; i < _arr.length - 1; i++) {
            _minIndex = i;
            for (let j = i + 1; j < _arr.length; j++) {
                if (_arr[j].indexOf < _arr[_minIndex].indexOf) {
                    _minIndex = j;
                }
            }
            _temp = _arr[i];
            _arr[i] = _arr[_minIndex];
            _arr[_minIndex] = _temp;
            let temp = _newNumber[i];
            _newNumber[i] = _newNumber[_minIndex];
            _newNumber[_minIndex] = temp;
        }
        return { indexArr: _arr, newNumber: _newNumber };
    }
 start(){
        this.setNumberInString("whedwoi24fd34nf23ds",[23,24],[22,100]);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值