比如要格式化处理一个文本:
凡是遇到"="则"="两边只能空一隔,比如"a=4"应该格式化为"a = 4";
凡是遇到"for...next"或者"if ...else if...else if...else...end if"则要依次缩进.
这些如何实现啊?
有哪位高手给点提示啊
急的没办法
我现在把文件按照二进制读出来放进了一个二进制数组,具体怎样操作这个数组啊?
Open SourceFileName For Binary Access Read As #1
Get #1, 1, DSX() 'DSX()是一个二进制数组

解决方案 »

  1.   

    读到一个字符串中,然后替换再写回文本
    strTemp=replace(strTemp,"="," = ")
      

  2.   

    你甚至可以利用 word的查找替换功能来实现你的目的http://www.3552808.com/gy/dl/Article_Show.asp?ArticleID=204
      

  3.   

    情况没这么简单吧?比如等号两边原先各有两个空格,比如这个样子:"a  =  5",还能用strTemp=replace(strTemp,"="," = ")???????
    还有凡是遇到"for...next"或者"if ...else if...else if...else...end if"则要依次缩进,这个怎么实现?谁可以帮助一下小弟啊?
      

  4.   

    难到就没有一个vb的高手??郁闷.
    我要做的是一个辅助开发工具,目的就是把写好的JAVA代码(*.java)按照编写规范重新格式划一遍.如果能用word实现,要我何用?
    郁闷ing
      

  5.   

    我自己解决了,看来还是只能考自己啊.
    我是用java解决的,因为它的正则表达式很容易用来格式化文本,下面是我写的格式化文本的一个类:
    (看来什么都要靠自己,论坛上是没有真正的高手的)
    /*
     *lcl'class
     *2004-6-24
     */
    import java.io.*;
    import java.util.regex.*;
    class Replace{
    private String filename;
    private String regexstring;
    private String replacestring;
    public Replace(){
    filename="";
    regexstring="";
    replacestring="";
    }

    public void setFilename(String fname){
    filename = fname;
    }
    public void setReg(String regstring){
    regexstring = regstring;
    }
    public void setReplace(String rstring){
    replacestring = rstring;
    }
    public String getFilename(){
    return filename;

    }
    public String getRex(){
    return regexstring;
    }
    public String getReplace(){
    return replacestring;
    }

    public String readF(String fname){

    try{
    filename=fname;
         File file = new File(filename);
             Reader rdr = new FileReader( file );
             long sz = file.length();
             char[] ch = new char[(int)sz];  
         rdr.read(ch);
             rdr.close();
            return new String(ch);
       }
       catch(IOException e){
       return null;
      }
    }

    public String replace(String from,String rstring){

        StringBuffer sb =new StringBuffer();
           String patternString = regexstring;
          Pattern pattern = null;
           String input = from; try{
             pattern = Pattern.compile(patternString);     
             Matcher matcher = pattern.matcher(input);
              while(matcher.find()){
     //         int start = matcher.start();
     //         int end = matcher.end();
     //         String match = input.substring(start,end);
     //         System.out.println(match+start+","+end);
              matcher.appendReplacement(sb,rstring);          }   
      matcher.appendTail(sb);
              return sb.toString();  
     
          }catch(PatternSyntaxException e){
          return null;
         } 
    }
    public String[] trim(String s){

    Pattern p = Pattern.compile("[\\n]+");
    String[] result = p.split(s);
    return result;
          }
          
         public int[] indent(String[] s){
          int[] myindent= new int[s.length];
          int ind=0;
          for(int i=0;i<s.length;i++){
          myindent[i]=ind;
          for(int j=0;j<s[i].length();j++){
          if(s[i].charAt(j)=='{'){
          ind++;
          }
          if(s[i].charAt(j)=='}'){
          ind--;
          myindent[i]=ind;
          } 
          }      }
          return myindent;
         } 
    }下面是调用它用来格式化文本的java:
    import java.util.regex.*;
    import javax.swing.*;
    public class Myreplace{
    public static void main(String[] args){
    Replace re=new Replace();
    String fcontent= re.readF("e:\\readjava.java");
    System.out.print(fcontent);
    re.setReg("\\s*=\\s*");
    String s = re.replace(fcontent,"=");
    System.out.println("---------------"); String[] result=re.trim(s);
    for (int i=0; i<result.length; i++)
        result[i]=result[i].trim();
            System.out.println("---------------");
      int[] tt=new int[result.length];
      tt=re.indent(result);
      for(int i=0;i<tt.length;i++){
              for(int j=0;j<tt[i];j++){
               result[i]="  "+result[i];
              }
              System.out.println(result[i]);
              
      }
                
          }      }