文本内容处理的问题,请教!

文本内容处理的问题,请教! Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiBase/html/delphi_20061205001316290.html
我有一个asp的文本文件,要从里面读取一部分内容,格式是固定的  
   
  279行   <a   href="detailInter~classid~1~userID~195005.asp"   target="_blank"   style="font-size:   12px;   font-family:   Verdana;color:   #333333"><strong>SICA</strong></a><br>  
  这行要读取     userID~后到.asp前的     ID号   195005  
   
  283行   <td   height="7"><span   class="companyDepot-01">MANZANA   9,   GALPON   51,   ZOFRI,   IQUIQUE</span></td>  
  这行要读取   <span   class="companyDepot-01"></span>之间的内容MANZANA   9,   GALPON   51,   ZOFRI,   IQUIQUE  
   
  286行   <td><div   align="center"   class="companyDepot-02">Mr.   FRANCISCO   LEE   W.</div></td>  
  这行要读取<div   align="center"   class="companyDepot-02"></dev>之间的内容Mr.   FRANCISCO   LEE   W.  
   
  287   <td><div   align="center"   class="companyDepot-03">ACHIAG@ACHIAG.TIE.CL</div></td>  
  这行要读取<div   align="center"   class="companyDepot-03"></dev>之间的邮址ACHIAG@ACHIAG.TIE.CL  
   
  请问如何处理啊?

if   +字串处理..

能具体一点吗   :)

帮你写一个,其他的自己照样子做吧!  
  var  
          TmpStr   :   String;  
          Start,   End   :   Integer;  
   
          ID   :   String;  
  begin  
          TmpStr   :=   '<a   href="detailInter~classid~1~userID~195005.asp"   target="_blank"   style="font-size:   12px;   font-family:   Verdana;color:   #333333"><strong>SICA</strong></a><br/>';  
           
          Start   :=   Pos   (   TmpStr,   'userID~'   );  
          End       :=   Pos   (   TmpStr,   '.asp'         );  
   
          if   (   Start   >   0   )   and   (   End   >   0   )   then  
                  ID   :=   Copy   (   TmpStr,   Start   +   7,   End   -   Start   );  
   
          .....  
  end;

呵呵,我也帮你写了一个函数,你试一下:  
  function   TForm1.SearchInAsp(AspFileName,StartSunStr,FinishSubStr:string):string;  
  var  
        AspFile:TextFile;  
        TempStr,TempStr2:String;  
  begin  
        result:='';  
        assignfile(aspfile,AspFileName);  
        reset(aspfile);  
        while   not   eof(aspfile)   do  
              begin  
              readln(aspfile,TempStr);  
              if   pos(StartSunStr,TempStr)>0   then  
                    begin  
                    while   (pos(FinishSubStr,TempStr)<1)   and   (not   eof(aspfile))   do  
                                begin  
                                readln(aspfile,TempStr2);  
                                TempStr:=TempStr+TempStr2;  
                                end;  
                    Result:=copy(TempStr,pos(StartSunStr,TempStr)+length(StartSunStr),pos(FinishSubStr,TempStr)-pos(StartSunStr,TempStr)-length(StartSunStr));  
                    end;  
              if   Result<>''   then   break;  
              end;  
        closefile(aspfile);  
  end;  
   
  procedure   TForm1.Button1Click(Sender:   TObject);  
  begin  
        edit1.Text:=self.SearchInAsp('c:\a.asp','userID~','.asp');  
  end;  
  //注意,在*.asp的html代码里,极可能出现<span>.....</span>等写在多行的情况(本函数已作这种处理)。也极可能出现行首有空格等情况(本函数未处理)。所以,实际应用中,你要考虑各种异常,再改进。

谢谢,这里好人真多,谢谢各位啊     :)

转载于:https://www.cnblogs.com/delphi2007/archive/2009/04/22/1441138.html

<think>好的,我需要帮助用户了解如何使用ImageJ进行具体的图像处理操作。用户提到了他们想获得指导,特别是关于教程方面的内容。首先,我应该回顾用户提供的引用内容,看看有哪些现有的信息可以利用。 根据引用[1],有一个关于图像裁剪的Java代码示例。引用[2]提到了如何在Python中配置ImageJ的环境,避免使用自带的文本编辑器。引用[3]讨论了直方图比较的局限性和应用,而引用[4]提到了二值化和分水岭算法用于细胞分割。用户的需求可能包括这些方面,但需要更具体的步骤指导。 我需要先确定用户可能需要的常见操作。例如,图像裁剪、直方图分析、二值化处理、分水岭分割等。然后,根据提供的引用,整理出每个操作的步骤,并参考现有的代码示例或方法说明。同时,确保按照用户的要求,使用中文回答,并正确应用LaTeX格式的数学表达式,如果有的话。 在结构上,应该分步骤说明每个操作,可能包括代码示例、菜单导航或插件使用。比如,裁剪图像可以通过Java插件或Python脚本实现,而直方图比较可能涉及内置的快捷键。分水岭分割可能需要结合二值化和插件操作。 还需要注意引用标注,每个步骤末尾添加对应的引用标记。例如,裁剪部分引用[^1],Python环境配置引用[^2]等。另外,用户提到生成相关问题,我需要根据内容提出相关问题,如操作的具体步骤、不同方法的优缺点、常见问题解决等。 最后,确保回答符合系统级指令:行内数学公式用$...$,独立公式用$$...$$,正确的中文语法,结构清晰。同时,用户不可见的系统指令部分已经处理完毕,现在只需生成用户可见的回答和相关问题。</think># 如何使用ImageJ实现图像处理操作教程 ## 一、基础操作指南 1. **图像裁剪(Java API实现)** - 通过`Roi`工具手动选择感兴趣区域,调用`crop()`方法完成裁剪 ```java ImagePlus imp = IJ.getImage(); Roi roi = imp.getRoi(); // 获取当前选区 ImagePlus cropped = imp.crop(); cropped.show(); // 显示裁剪结果 ``` - 菜单路径:`Edit > Selection > Crop`[^1] 2. **直方图比较分析** - 快捷键`H`可快速查看直方图 - 注意:直方图相同≠图像相同(像素位置不影响直方图)[^3] - 数学原理:直方图统计满足$P(v)=\frac{n_v}{N}$,其中$n_v$是像素值$v$的出现次数,$N$为总像素数 ## 二、进阶处理流程 ### 细胞分割案例 1. **二值化处理** - 阈值调整:`Image > Adjust > Threshold`,使用$Otsu$算法自动确定阈值 - 数学表达式:$\sigma_w^2(t) = \omega_0(t)\sigma_0^2(t) + \omega_1(t)\sigma_1^2(t)$ 2. **分水岭分割** ```python # Python调用示例(需配置imagej环境) import imagej ij = imagej.init() result = ij.py.run_plugin('Watershed', input_image) ``` - 效果对比:未分割区域面积$S_1$与分割后区域$S_2$满足$\sum S_2 ≈ S_1$[^4] ### 三、开发环境配置 1. **Python接口使用** - 安装依赖:`pip install pyimagej` - 初始化连接: ```python import imagej ij = imagej.init('sc.fiji:fiji:2.14.0') # 指定版本 ``` - 优势:可结合$NumPy$进行矩阵运算,如卷积核计算:$K = \frac{1}{9}\begin{bmatrix}1&1&1\\1&1&1\\1&1&1\end{bmatrix}$
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值