修改字符串中数字

/**
     * 设置在字符串中的数字
     * @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]);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你想在C++字符串数字上循环加一,可以使用C++标准库的一些函数来实现。以下是一个示例程序: ```cpp #include <iostream> #include <string> #include <sstream> using namespace std; int main() { string str = "abc123def456"; string newStr = ""; for(int i = 0; i < str.length(); i++) { if(isdigit(str[i])) // 如果当前字符是数字 { int num = str[i] - '0'; // 将字符转换为数字 num = (num + 1) % 10; // 执行循环加一操作 char newChar = num + '0'; // 将数字转换回字符 newStr += newChar; // 将新字符添加到新字符串 } else // 如果当前字符不是数字 { newStr += str[i]; // 直接将字符添加到新字符串 } } cout << newStr << endl; return 0; } ``` 在此示例,我们首先定义了一个字符串`str`,其包含数字。然后,我们使用一个循环遍历该字符串的每个字符。如果当前字符是数字,我们将其转换为数字并执行循环加一操作。否则,我们将当前字符直接添加到新字符串`newStr`。 在此示例,我们使用了C++标准库的`isdigit()`函数来检查当前字符是否是数字。我们还使用了C++标准库的`stringstream`类来将字符转换为数字,并使用加法和取模运算来执行循环加一操作。最后,我们将数字转换回字符并将其添加到新字符串`newStr`。 请注意,此示例仅适用于字符串包含单个数字的情况。如果你的字符串包含多个数字(例如,有些数字可能包含两位或更多位),则需要修改代码以处理这种情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值