主要功能是 (数字) 替换为 a("数字")
如何使用 正则表达式大批量更换

解决方案 »

  1.   

    try: 
     select replace('数字',chr(40)||'数字'||chr(39))) from dual
      

  2.   

    40是“的ASCII码,你查下是多少,39是‘  
     select replace('数字',chr(40)||'数字'||chr(40))) from dual
      

  3.   

    select replace(replace('(8771)/(8772)','(','a("'),')','")') from dual;
      

  4.   

    如果你要用正则表达式,那就如下这样,不过你的字段必须是这样的:(8771)/(8772)的结构,括号中间的数字个数不限。正则表达式只有10g才支持。。^_^select 
    regexp_replace('(8771)/(8772)','\(([[:digit:]]+)\)\/\(([[:digit:]]+)\)','a("\1")/a("\2")') 
    from dual
      

  5.   

    补充一下,应该是字段须含有“(8771)/(8772)”这样的结构
    比如'AA(8771)/(8772)','(8771)/(8772)VVV','(8771)/(8772)'等都是合法的结构
    括号中的数字个数不限,但是不能为零个,比如'()/(8772)',如果这样,那上面的语句又得改了,
    不过第一句语句,即不用正则表达式的那句,不受这个结构的限制
      

  6.   

    ATCG(novel gene) 的回答很不错