如何编写公式按映射规则将指定字符串转换为对应数字串
实现逻辑
- 先将输入字符串以
-为分隔符拆分,得到单个文本片段的列表 - 提前定义文本片段与对应数字的映射表
- 遍历拆分后的列表,将每个文本片段替换为映射表中对应的数字并转为字符串格式
- 最后将所有数字字符串用
-拼接,即可得到目标结果
Python 实现代码
def convert_str(input_str, mapping): # 拆分字符串 seg_list = input_str.split('-') # 替换为对应数字 num_list = [str(mapping[seg]) for seg in seg_list] # 拼接为结果字符串 return '-'.join(num_list) # 测试用例 if __name__ == "__main__": test_input = "LO-JOB-SD-MDD-JOB-SD" # 可根据实际映射规则扩展该字典 rule_map = { "LO": 3, "JOB": 3, "SD": 2, "MDD": 10 } output = convert_str(test_input, rule_map) print(output) # 输出结果:3-3-2-10-3-2
JavaScript 实现代码
function convertStr(inputStr, mapping) { const segList = inputStr.split('-') const numList = segList.map(seg => mapping[seg].toString()) return numList.join('-') } // 测试用例 const testInput = "LO-JOB-SD-MDD-JOB-SD" const ruleMap = { "LO": 3, "JOB": 3, "SD": 2, "MDD": 10 } console.log(convertStr(testInput, ruleMap)) // 输出结果:3-3-2-10-3-2
后续如果有新增的文本片段需要映射,直接在rule_map/ruleMap里添加对应的键值对即可完成扩展。
内容的提问来源于stack exchange,提问作者ELIP
相关产品推荐
相关产品推荐

