使用regexp_replace将数字转换为字符串

时间:2015-11-10 12:12:00

标签: sql regex oracle

我尝试使用regexp_replace用表达式(' number')替换每次出现的类型(数字)(带有数字的括号)(添加'之前和之后数字和那个 - 将数字转换为varchar)。

示例 -

更改前:abcde(737)sbsgs37(6)s(v)

更改后:abcde(' 737')sbsgs37(' 6')s(v)

谢谢,

Ilya Golosovsky。

2 个答案:

答案 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')