Godot 解析数据

print("物品名称: %s, 数量: %d" % [item_name, item_num])

支持解析 "数字名字" "名字数字"

数字名字 名字数字
# 假设 msg 是输入的字符串
var msg = "兑换安琪拉200"
# 1. 去除固定前缀 “销毁”
var trim_msg = msg.replace("销毁", "").strip_edges()
# 2. 使用正则表达式解析
var regex = RegEx.new()
# 匹配物品名称和可选的数字(数量),数字可以出现在字符串的开头或结尾
regex.compile("^(\\d*)\\s*([\\s\\S]+?)\\s*(\\d*)$")
var result = regex.search(trim_msg)
# 3. 处理结果
if result:
var item_name = result.get_string(2) # 获取物品名称
var item_num_str = result.get_string(1) + result.get_string(3) # 获取数量字符串,可能来自字符串的开头或结尾
var item_num = item_num_str.to_int() # 将数量字符串转换为整数
if item_num == 0:
item_num = 1 # 如果没有提供数量或解析失败,默认为 1
# 发送信号或进行其他处理
print("物品名称: %s, 数量: %d" % [item_name, item_num])
else:
print("无法解析输入的字符串")
posted @   专心Coding的程侠  阅读(83)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2023-03-22 个人的一些吐槽
2023-03-22 反转链表
2023-03-22 冒泡排序
2023-03-22 Leectcode 63 不同路径II
2023-03-22 LeetCode 746 使用最小花费爬楼梯
2023-03-22 动态规划理论基础

阅读目录(Content)

此页目录为空

点击右上角即可分享
微信分享提示