Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Bukkit修剪不起作用_Java_Bukkit - Fatal编程技术网

Java Bukkit修剪不起作用

Java Bukkit修剪不起作用,java,bukkit,Java,Bukkit,因为一些奇怪的原因,当我尝试修剪“替换:”时,它不会因为一些奇怪的原因被修剪。和此类似,它的一部分会根据被列入黑名单的单词有多少个字符进行修剪,但总体来说,它并没有按照预期工作 它应该做的是将“replace:”替换为“”,但这不起作用 这是我的密码: @事件处理程序 公共无效黑名单字(AsyncPlayerChate事件){ 字符串标签=“替换:” 下面是一个可能会有所帮助的示例。读取代码时,文件中的字符串列表可能有“replace:”行作为它们的前缀,然后在最终使用错误的字符串作为消息之前,

因为一些奇怪的原因,当我尝试修剪“替换:”时,它不会因为一些奇怪的原因被修剪。和此类似,它的一部分会根据被列入黑名单的单词有多少个字符进行修剪,但总体来说,它并没有按照预期工作

它应该做的是将“replace:”替换为“”,但这不起作用

这是我的密码:

@事件处理程序 公共无效黑名单字(AsyncPlayerChate事件){ 字符串标签=“替换:”


下面是一个可能会有所帮助的示例。读取代码时,文件中的字符串列表可能有“replace:”行作为它们的前缀,然后在最终使用错误的字符串作为消息之前,您正在做一些多余的事情来尝试删除该前缀。看看这是否有助于澄清,但这是基于我假设您正在尝试做的事情

import java.util.ArrayList;
import org.junit.Test;

public class StackOverflow_32878663 {

    @Test
    public void replaceBlacklistedWords()
    {

        // mimicking your list of strings from the file
        ArrayList<String> wordList = new ArrayList<String>();
        wordList.add("replace: blue");
        wordList.add("replace: green");
        wordList.add("replace: red");
        wordList.add("replace: white");
        wordList.add("replace: yellow");

        String incomingMessage = "I am RED, white, bLuE, and green all over.  What am I?";
        String modifiedMessage = incomingMessage;

        for (String s : wordList)
        {
            // one way of many to remove "replace:" if that is important
            String justTheWord = s.split(" ", 2)[1];  

            // the (?i) tells the regex to perform in a case insensitive manner
            modifiedMessage = modifiedMessage.replaceAll("(?i)" + justTheWord, " ");  
        }

        System.out.println("Original message: " + incomingMessage);
        System.out.println("Modified message: " + modifiedMessage);
    }

}
import java.util.ArrayList;
导入org.junit.Test;
公共类StackOverflow_32878663{
@试验
public void replaceBlacklistedWords()
{
//模拟文件中的字符串列表
ArrayList wordList=新建ArrayList();
添加(“替换:蓝色”);
添加(“替换:绿色”);
添加(“替换:红色”);
添加(“替换:白色”);
添加(“替换:黄色”);
String incomingMessage=“我全身是红、白、蓝、绿。我是什么?”;
字符串modifiedMessage=incomingMessage;
for(字符串s:wordList)
{
//许多方法中有一种是删除“替换”:如果这很重要的话
字符串justTheWord=s.split(“,2)[1];
//(?i)告诉正则表达式以不区分大小写的方式执行
modifiedMessage=modifiedMessage.replaceAll(“(?i)”+仅单词“”;
}
System.out.println(“原始消息:“+incomingMessage”);
System.out.println(“修改的消息:“+modifiedMessage”);
}
}

以下是一个可能有帮助的示例。读取代码时,文件中的字符串列表可能有“replace:”行:作为它们的前缀,然后在最终使用错误的字符串作为消息之前,您正在做一些多余的事情来尝试删除该前缀。看看这是否有助于澄清,但这是基于我假设您正在尝试做的事情

import java.util.ArrayList;
import org.junit.Test;

public class StackOverflow_32878663 {

    @Test
    public void replaceBlacklistedWords()
    {

        // mimicking your list of strings from the file
        ArrayList<String> wordList = new ArrayList<String>();
        wordList.add("replace: blue");
        wordList.add("replace: green");
        wordList.add("replace: red");
        wordList.add("replace: white");
        wordList.add("replace: yellow");

        String incomingMessage = "I am RED, white, bLuE, and green all over.  What am I?";
        String modifiedMessage = incomingMessage;

        for (String s : wordList)
        {
            // one way of many to remove "replace:" if that is important
            String justTheWord = s.split(" ", 2)[1];  

            // the (?i) tells the regex to perform in a case insensitive manner
            modifiedMessage = modifiedMessage.replaceAll("(?i)" + justTheWord, " ");  
        }

        System.out.println("Original message: " + incomingMessage);
        System.out.println("Modified message: " + modifiedMessage);
    }

}
import java.util.ArrayList;
导入org.junit.Test;
公共类StackOverflow_32878663{
@试验
public void replaceBlacklistedWords()
{
//模拟文件中的字符串列表
ArrayList wordList=新建ArrayList();
添加(“替换:蓝色”);
添加(“替换:绿色”);
添加(“替换:红色”);
添加(“替换:白色”);
添加(“替换:黄色”);
String incomingMessage=“我全身是红、白、蓝、绿。我是什么?”;
字符串modifiedMessage=incomingMessage;
for(字符串s:wordList)
{
//许多方法中有一种是删除“替换”:如果这很重要的话
字符串justTheWord=s.split(“,2)[1];
//(?i)告诉正则表达式以不区分大小写的方式执行
modifiedMessage=modifiedMessage.replaceAll(“(?i)”+仅单词“”;
}
System.out.println(“原始消息:“+incomingMessage”);
System.out.println(“修改的消息:“+modifiedMessage”);
}
}

您的代码对您的意图有点混淆,但我假设您正在尝试获取.BlacklistedWords文件中的条目,并从e.getMessage()中删除它们的所有实例?您只是想将它们从邮件本身中删除,还是试图替换?您的.BladklistedWords文件中条目的格式是什么,是否为“替换:坏字”?@Michael,我正在尝试替换。当我尝试这样做时,替换:有没有看到我下面的答案,它涉及删除“替换”:此外,上面的代码使用s作为参数调用set message,其中s是从黑名单中读取的行,而不是消息本身。在下面的示例中,incomingMessage将是您的e.getMessage(),modifiedMessage将是您在e.setMessage()中使用的值您的代码对于您的意图有点混乱,但我假设您正在尝试获取.BlacklistedWords文件中的条目,并从e.getMessage()中删除它们的所有实例?您只是想将它们从邮件本身中删除,还是试图替换?您的.BladklistedWords文件中条目的格式是什么,是否为“替换:坏字”?@Michael,我正在尝试替换。当我尝试这样做时,替换:有没有看到我下面的答案,它涉及删除“替换”:此外,上面的代码使用s作为参数调用set message,其中s是从黑名单中读取的行,而不是消息本身。在下面的示例中,incomingMessage将是您的e.getMessage(),modifiedMessage将是您在e.setMessage()中使用的值