在主手放一个物品并添加一行Lore "等级: 20"
然后如何获得 "等级:"后面的数字"20".
String处理。
先学好Java基础
先学好Java基础
假设你的字符串变量为temp,那么
复制代码
就可以获得:之后的内容了
虽然容错率不高
- temp.substring(temp.indexOf(":") + 1)
就可以获得:之后的内容了
虽然容错率不高

replace, 具体自行脑补

"等级: 20" 后面的20是未知的,想知道怎么获得后面的未知数
- String level = "等级:20";
- int newLeve = Integer.valueOf(leve.replace("等级:",""));
先利用ChatColor里的stripColor()把所有的颜色代码去除,之后利用正则选取数字部分
使用正则表达式获取数字拥有极高的容错率
复制代码
- public Double getNumber(String string) {
- Double number = 0D;
- Pattern pattern = Pattern.compile("(等级)[:][ ]([\\+|\\-]?\\d+[\\.\\d+]*)");
- Matcher matcher = pattern.matcher(string);
- if (matcher.find()) {
- number = Double.valueOf(matcher.group(2));
- }
- return number;
- }
String lore = "等级: 20";
int level = Integer.valueOf(lore.split(":")[1].trim());
int level = Integer.valueOf(lore.split(":")[1].trim());
如果你是指bukkitAPI的话,那么答案是ItemMeta.getLore