Java 重新设置列表格式以添加&引用;以及,

Java 重新设置列表格式以添加&引用;以及,,java,list,awtrobot,reformat,Java,List,Awtrobot,Reformat,我有一个这样的列表,但在文本文档中要长得多 123451234 1234123 1234567 12345678 我需要将其重新格式化为 "1123451234", "1234123","1234567","123123123","112345678" 我已经在一个循环中使用java尝试了robot类。我可以添加“”和,但问题是每行的长度不同,所以我不能简单地让它单击左箭头一定次数。我能做什么?如果您需要更多信息,请提前询问并感谢 这是询问者的密码 Robot r = new Robot()

我有一个这样的列表,但在文本文档中要长得多

123451234
1234123
1234567
12345678
我需要将其重新格式化为

"1123451234", "1234123","1234567","123123123","112345678"
我已经在一个循环中使用java尝试了robot类。我可以添加“”和,但问题是每行的长度不同,所以我不能简单地让它单击左箭头一定次数。我能做什么?如果您需要更多信息,请提前询问并感谢

这是询问者的密码

Robot r = new Robot(); 

r.keyPress(KeyEvent.VK_QUOTE);
r.keyRelease(KeyEvent.VK_QUOTE);
r.keyPress(KeyEvent.VK_RIGHT);
r.keyRelease(KeyEvent.VK_RIGHT);
r.keyPress(KeyEvent.VK_RIGHT);
r.keyRelease(KeyEvent.VK_RIGHT);
r.keyPress(KeyEvent.VK_RIGHT);
r.keyRelease(KeyEvent.VK_RIGHT);
r.keyPress(KeyEvent.VK_RIGHT);
r.keyRelease(KeyEvent.VK_RIGHT);
r.keyPress(KeyEvent.VK_COMMA);
r.keyRelease(KeyEvent.VK_COMMA);
r.keyPress(KeyEvent.VK_QUOTE);
r.keyRelease(KeyEvent.VK_QUOTE);

您可以编写一个助手程序,该程序将获取文本文件(例如,
file.txt
)中的数据,并将其重新格式化(未经测试的代码,但您知道):

关于基于机器人的方法:您可以使用Home和End键跳到线的开始或结束:

// jump to end
r.keyPress(KeyEvent.VK_END);
r.keyRelease(KeyEvent.VK_END);

// jump to start
r.keyPress(KeyEvent.VK_HOME;
r.keyRelease(KeyEvent.VK_HOME);

如果您不想以编程方式执行此操作,我建议您只需打开任何像样的文本编辑器(如Sublime text),然后使用打开的正则表达式进行查找-替换

查找
(\d+)\n

替换为
“$1”,

有了这个,如果你做一个“全部替换”,你最终会得到

"123451234","1234123","1234567",12345678
因此,只需手动执行最后一个操作。

使用sed命令行

$ cat test.dat
123451234
1234123
1234567
12345678

$ sed -e's/^\(.*\)$/"\1"/' test.dat
"123451234"
"1234123"
"1234567"
"12345678"
正则表达式匹配整行并用引号将其换行。这将输出到标准输出,但只需重定向到文件以保存输出:

$ sed -e's/^\(.*\)$/"\1"/' test.dat > quoted.dat

我真的很好奇你是如何使用robot类来尝试这样做的。你能告诉我们吗?你能告诉我们你是如何读取这些数据的,以及你是如何处理这些数据的吗?如果您描述了迄今为止您尝试过的内容,请同时显示您使用的代码。为什么您不能直接编辑文本文档?有一个
Home
键,您知道……哇,这是一个相当低级的方法来完成类似于此任务。OP需要添加“以及每个单词的开头和结尾。我将尝试此操作。@Doorknob BufferedReader reader=new BufferedReader(new FileReader(new File.txt));给出了一个错误。我应该把file.txt放在哪里?@SolidCloudinc什么错误?你记得导入相关的类吗?@doorknold是的,没有可用的建议。
$ sed -e's/^\(.*\)$/"\1"/' test.dat > quoted.dat