Java - 从 jeditorpane 中的文本中删除特定字符
Java - removing specific characters from text in jeditorpane
如果能帮我修改函数,我将不胜感激!
宗旨:
制作特定字符的数组列表。
写一个方法从文本 JEditorpane 中删除 arraylist 中指定的字符。
到目前为止:
制作了一个字符数组列表,
写了一个函数来删除字符。
制作了一个包含 jeditorpane
的图形用户界面
问题:
该函数有效,并删除了我通过字符串打印到控制台的字符。
我正在努力使该函数从我在 JEditorpane 中打开的文本文档中删除字符。
代码简写:
private static ArrayList<Character> special = new ArrayList<Character>(Arrays.asList('a','b','h'));
public class removing implements ActionListener {
public void actionPerformed(ActionEvent e) {
documentpane 是我的 jeditorpane 的名称
如果我将 document.chatAt 更改为 test.chatAt,(打印到控制台,这有效。
Document document = documentpane.getDocument();
String test = "hello world?";
String outputText = "";
for (int i = 0; i < document.getLength(); i++) {
Character c = new Character(document.charAt(i));
if (!special.contains(c))
outputText += c;
else
outputText += " ";
}
System.out.println(outputText);
提前感谢您的帮助。
这个怎么样:
String outputText =document.getText(0,docuemnt.getLength()).replaceAll("[a|b|c]"," ");
//set regex that you want
System.out.println(outputText);
您可以按照 lino 的建议使用 document.getText(0,docuemnt.getLength())。但我更喜欢正则表达式,因为你不必循环和检查,使用 StringBuilder 而不是连接是更好的做法
由于Document
没有charAt
方法,您首先需要提取文档的内容。这可以通过以下方式完成:
String content = document.getText(0, document.getLength());
然后,当您将 for-loop
与 content
一起使用时,它应该可以工作。所以你的代码看起来像这样:
Document document = documentpane.getDocument();
String content = document.getText(0, document.getLength());
String outputText = "";
for (int i = 0; i < content.length(); i++) {
Character c = new Character(content.charAt(i));
if (!special.contains(c))
outputText += c;
else
outputText += " ";
}
System.out.println(outputText);
如果能帮我修改函数,我将不胜感激!
宗旨: 制作特定字符的数组列表。 写一个方法从文本 JEditorpane 中删除 arraylist 中指定的字符。
到目前为止: 制作了一个字符数组列表, 写了一个函数来删除字符。 制作了一个包含 jeditorpane
的图形用户界面问题: 该函数有效,并删除了我通过字符串打印到控制台的字符。
我正在努力使该函数从我在 JEditorpane 中打开的文本文档中删除字符。
代码简写:
private static ArrayList<Character> special = new ArrayList<Character>(Arrays.asList('a','b','h'));
public class removing implements ActionListener {
public void actionPerformed(ActionEvent e) {
documentpane 是我的 jeditorpane 的名称
如果我将 document.chatAt 更改为 test.chatAt,(打印到控制台,这有效。
Document document = documentpane.getDocument();
String test = "hello world?";
String outputText = "";
for (int i = 0; i < document.getLength(); i++) {
Character c = new Character(document.charAt(i));
if (!special.contains(c))
outputText += c;
else
outputText += " ";
}
System.out.println(outputText);
提前感谢您的帮助。
这个怎么样:
String outputText =document.getText(0,docuemnt.getLength()).replaceAll("[a|b|c]"," ");
//set regex that you want
System.out.println(outputText);
您可以按照 lino 的建议使用 document.getText(0,docuemnt.getLength())。但我更喜欢正则表达式,因为你不必循环和检查,使用 StringBuilder 而不是连接是更好的做法
由于Document
没有charAt
方法,您首先需要提取文档的内容。这可以通过以下方式完成:
String content = document.getText(0, document.getLength());
然后,当您将 for-loop
与 content
一起使用时,它应该可以工作。所以你的代码看起来像这样:
Document document = documentpane.getDocument();
String content = document.getText(0, document.getLength());
String outputText = "";
for (int i = 0; i < content.length(); i++) {
Character c = new Character(content.charAt(i));
if (!special.contains(c))
outputText += c;
else
outputText += " ";
}
System.out.println(outputText);