C++实现字符串替换:“i”变“1”、“to”变“2”、“for”变“4”、“o”变“0”!
# 字符串替换规则实现 我将提供一个C++解决方案,按照题目要求实现字符串替换规则。 ```cpp #include <iostream> #include <string> using namespace std; string transformString(const string& s) { string result; int n = s.length(); for (int i = 0; i < n; ) { // 检查"for"(优先级高于"to") if (i + 2 < n && s[i] == 'f' && s[i+1] == 'o' && s[i+2] == 'r') { result += '4'; i += 3; } // 检查"to" else if (i + 1 < n && s[i] == 't' && s[i+1] == 'o') { result += '2'; i += 2; } // 处理单独的'i' else if (s[i] == 'i' && (i == 0 || s[i-1] != 'i') && (i == n-1 || s[i+1] != 'i')) { result += '1'; i++; } // 处理不属于"to"或"for"的'o' else if (s[i] == 'o') { result += '0'; i++; } // 其他字符保持不变 else { result += s[i]; i++; } } return result; } int main() { string input; cout << "请输入只包含小写字母的字符串: "; cin >> input; string output = transformString(input); cout << "转换后的字符串: " << output << endl; return 0; } ``` ## 代码说明 1. 函数`transformString`接收原始字符串并返回转换后的字符串 2. 按照优先级处理替换规则:"for" > "to" > 单独'i' > 单独'o' 3. 使用逐个字符检查的方式,确保正确识别连续的字符组合 4. 处理单独'i'时检查前后字符确保不是连续'i' 5. 处理'o'时确保不属于"to"或"for"的一部分 ## 示例输入输出 输入: "itisforfortoforit" 输出: "1t1s4f4rt2f4r1t" ## 注意事项 1. 替换顺序很重要,"for"检查必须在"to"之前,因为"for"包含"to"的前缀 2. 处理单独'i'时需要检查前后字符确保不是连续出现的'i' 3. 不属于"to"或"for"的'o'才替换为'0',这需要仔细的条件判断 ######[AI写代码神器 | 585点数解答 | 2025-05-09 18:20:21]
- C++ 求解:最少操作次数让字符串无子串 “friend” (字节豆包 | 153点数解答 | 2024-08-17 16:29:54)494
- C++ 求解:最少操作次数让字符串不再含 “friend” 子串!(讯飞星火 | 260点数解答 | 2024-08-17 16:30:49)478
- Python 巧解:最少操作次数让字符串告别“friend”子串(字节豆包 | 139点数解答 | 2024-08-18 13:04:14)418
- 3414 数字游戏:Python 求解 8 位 01 字符串中 1 的个数 (字节豆包 | 106点数解答 | 2024-10-27 14:23:27)444
- 巧用字符添加,计算字符串中“our”最大数量及开发注意要点(DeepSeek | 376点数解答 | 2025-10-30 19:20:06)93
- C 语言实现:处理字符串生成最多 “our” 串,附代码及关键开发注意点 (DeepSeek | 257点数解答 | 2025-10-30 19:20:36)127
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)368
- Python 实现列字符串替换:将 \t 换为空格及处理注意要点(字节豆包 | 127点数解答 | 2025-03-14 17:29:22)193
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)337
- Python开发必备:字符串、列表、元组、字典常用的5个方法大揭秘!(阿里通义 | 325点数解答 | 2023-11-08 00:51:48)270
- Java技巧:轻松将字符串“.88”转换成BigDecimal对象(阿里通义 | 101点数解答 | 2024-01-29 14:48:51)307
- 求解字符串“ss”消除“friend”子串的最少操作次数,关键信息待明确!(字节豆包 | 130点数解答 | 2024-08-18 13:03:50)279