我试图仅从文本数据中删除标点符号,但保留重音字母。我不想用英语等效字母替换带重音的字母。我不知道如何调整现有代码以允许更高的 ASCII 字符。
\n\n while (input.hasNext()){\n String phrase = input.nextLine();\n String[] words = phrase.split(" ");\n for(String word: words){\n String strippedInput = word.replaceAll("[^0-9a-zA-Z\\\\s]", ""); \n }\n }\nRun Code Online (Sandbox Code Playgroud)\n\n如果原始输入是:\nO sal, ou os\xc3\xb3dio, tamb\xc3\xa9m \xc3\xa9 contraindicado em pacientes hipotensos?
\n\n预期输出应为: \nO sal ou os\xc3\xb3dio tamb\xc3\xa9m \xc3\xa9 contraindicado em pacientes hipotensos
\n\n有任何想法吗?谢谢!
\n我正在尝试为战舰游戏制作GUI.一个类用于创建GUI本身,另一个类用于管理游戏中的板.我的问题是,一旦鼠标点击发生,JPanel会创建两次(鼠标点击应该是游戏中的一个点击,然后将其标记为点击/未命中).我不确定它为什么要创造两次.是因为小组的通过吗?下面的代码和代码生成的照片.
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.BorderFactory;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class BattleshipApplet extends JApplet implements MouseListener {
private final JButton playButton = new JButton("Play");
private final JLabel msgBar = new JLabel("Click Play to start game");
private BoardPanel panel;
public BattleshipApplet(){
playButton.addActionListener(this::playButtonClicked);
addMouseListener(this);
}
public void init(){
configureGui();
}
private void configureGui(){
setLayout(new BorderLayout());
JPanel buttons = new JPanel(new FlowLayout(FlowLayout.LEFT));
buttons.setBorder(BorderFactory.createEmptyBorder(0,5,0,0));
buttons.add(playButton);
add(buttons, BorderLayout.NORTH);
msgBar.setBorder(BorderFactory.createEmptyBorder(10,10,5,5));
add(createBoardPanel(), BorderLayout.CENTER);
add(msgBar, BorderLayout.SOUTH); …Run Code Online (Sandbox Code Playgroud)