我尝试使用regexp_replace用表达式(' number')替换每次出现的类型(数字)(带有数字的括号)(添加'之前和之后数字和那个 - 将数字转换为varchar)。
示例 -
更改前:abcde(737)sbsgs37(6)s(v)
更改后:abcde(' 737')sbsgs37(' 6')s(v)
谢谢,
Ilya Golosovsky。
答案 0 :(得分:2)
你可以使用这个
regexp_replace('abcde(737)sbsgs37(6)s(v)', '\((\d+)\)', '(''\1''))
-> abcde('737')sbsgs37('6')s(v)
<强> DEMO 强>
答案 1 :(得分:1)
Wernfried Domscheit的所有功劳都归功于他错过了一件小事。你可以用这个:
popupMenu.rename.addActionListener(new ActionListener()
{ public void actionPerformed(ActionEvent e) {
list.getSelectedValue().toString();
JFrame frame = new JFrame("Rename");
final JTextField textField=new JTextField();
String s = null;
File file2 = new File("newname");
textField.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
s = textField.getText();
}
});
Object o = list.getModel().getElementAt(list.getSelectedIndex());
File file = new File(o.toString());
//FileUtils.moveFile(file, newFile);
file.renameTo(file2);
//Files.move(file.toPath(),file.toPath().resolveSibling(textField.getText()));
frame.add(textField);
frame.setLocationRelativeTo(frame);
frame.setSize(200,60);
frame.setVisible(true);
}
});
经过测试和工作:
regexp_replace('abcde(737)sbsgs37(6)s(v)', '(\()(\d+)(\))', '\1''\2''\3')