`
it577net
  • 浏览: 23776 次
  • 性别: Icon_minigender_1
  • 来自: 温州
社区版块
存档分类
最新评论

分别用vim、java正则,不优美地处理一段html,得到想要的字段

阅读更多

源:

 

<select name="nnsort_id" onchange="form1.Clxh.value=this.value;">
    
  <option value="">---汽车型号---</option><option value="悍马 H2">悍马 H2</option><option value="悍马 H2 SUT">悍马 H2 SUT</option><option value="悍马 H3">悍马 H3</option><option value="悍马H1">悍马H1</option></select>

目标:
悍马 H2,悍马 H2 SUT,悍马 H3,悍马H1

Java方式:

package regex;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class HtmlOption {
	public static void main(String[] args){
		String str_o="<option value=>---汽车型号---</option><option value=伊兰特1.6>伊兰特1.6</option><option value=伊兰特1.8>伊兰特1.8</option><option value=伊兰特 1.8 手动 豪华型>伊兰特 1.8 手动 豪华型</option><option value=伊兰特 1.8 自动 豪华型>伊兰特 1.8 自动 豪华型</option><option value=伊兰特 1.6 自动 豪华型>伊兰特 1.6 自动 豪华型</option><option value=伊兰特 1.6 手动 豪华型>伊兰特 1.6 手动 豪华型</option><option value=伊兰特 1.6 自动 标准型>伊兰特 1.6 自动 标准型</option><option value=伊兰特 1.6 自动 舒适型>伊兰特 1.6 自动 舒适型</option><option value=伊兰特 1.6 手动 舒适型>伊兰特 1.6 手动 舒适型</option></select>";
		String string=str_o.replaceAll("</select>", "");
		string=string.replaceAll("<option value=>---汽车型号---</option>", "");
		//去掉左边的<option ..
		Pattern pattern = Pattern.compile("<option.+?>", Pattern.DOTALL);
		Matcher matcher = pattern.matcher(string);
		 string = matcher.replaceAll(",");

		//去掉右边的</option>
		/**
		 * 没必要,replacement为空值即可
		 */
/*		Pattern pattern2 = Pattern.compile("</option>", Pattern.DOTALL);
		Matcher matcher2 = pattern2.matcher(string);
		string = matcher2.replaceAll("");*/
		string=string.replaceAll("</option>", "");
		//去掉第一个,
		Pattern pattern3 = Pattern.compile(",", Pattern.DOTALL);
		Matcher matcher3 = pattern3.matcher(string);
		string = matcher3.replaceFirst("");
		System.out.println(string);
	}
}
 很臃肿。哎。

VIM方式:
录制宏@a
 写道
去掉开头 :%s/<select.*/
去掉空行 :g/^\s*$/d
去掉第三行的空格 :%s/\s\s/
去掉品牌这个opt :%s/<option value=.*---<\/option>/
去掉左option :%s/<option value="[^<]*">//gc
去掉右option-转, :%s/<\/option>/,/gc
去末尾,</select> :%s/,<\/select>/
 

 

分享到:
评论

相关推荐

    vim正则表达式的使用

    vim正则表达式的使用,轻松处理文本文件

    VIM正则表达式查找替换[PDF电子教程]

    VIM,很好很强大;正则表达式亦是如此。将两者有机结合起来,使工作效率更高。本教程面向正则表达式爱好者或有一定基础的VIM用户。非常之详细。

    vim的java自动补全工具

    vim的java自动补全工具 vim java 自动 补全 提示

    vim编辑器中熟练掌握正则表示法

    如果在没有正则表示法的环境中(例如MS Word),你或许要使解语系对正则 用忽略大小写的办法,或者分别以 MYweb及 Myweb搜寻两遍。但是,达式的影响忽略大小写可能会搜寻到 MYWEB/myweb/MyWeB等不需要的字符串而...

    Java实现vimJava实现的vimdemo

    Java实现的vimdemo Java实现的vimdemo Java实现的vimdemo Java实现的vimdemo Java实现的vimdemo Java实现的vimdemo

    vim插件 java代码自动补齐

    vim插件 java代码自动补齐. 具体信息看其中的帮助文档。

    Vim中查找替换及正则表达式的使用详解

    Vim中的正则表达式功能很强大,如果能自由运用,则可以完成很多难以...下面这篇文章主要给大家介绍了关于Vim中查找替换及正则表达式使用的相关资料,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。

    java vim 插件

    java vim 插件, javabrowser

    vim使用进阶:vim使用技巧、配置、命令和插件

    一种是使用一个固定的vim配置脚本保存project相关的path设置、按键映射等;另外一种是利用前面文章所介绍的会话(session)机制。 vim使用进阶: 使用标签(tag)文件 本文介绍了如何使用Exuberant ctags生成tag文件...

    vim下的java开发插件vjde

    vim的java开发插件 很方便,很好用的

    vim 配置 vim 配置

    vim配置 vim 配置 整理出来大家一起学习

    vim 配置文件 vim 配置文件 vim 配置文件

    vim配置文件 vimrc vim配置文件 vimrc vim配置文件 vimrc

    VIM 7.2.3 Java Automatic 自动补全

    解压压缩包,把autoload文件夹下的javacomplete.vim java_parser.vim 加入到  /usr/share/vim/vimcurrent 下的autoload,然后把压缩包中的 Reflection.java 编译,把生成的.class 文件拷贝到 $JAVA_HOME 的某个目录...

    grep用法详解---grep与正则表达式

    首先要记住的是: 正则表达式与通配符不一样,它们表示的含义并不相同! 正则表达式只是一种表示法,只要工具支持这种表示法, 那么该工具就可以处理正则表达式的字符串。vim、grep、awk 、sed 都支持正则表达式,也正是...

    vim-java:Java Vim插件

    Java Vim插件 Vim中Java的语法更新 屏幕截图 老破烂 新热点 安装 使用 cd ~ /.vim/bundle git clone https://github.com/rudes/vim-java.git 使用 Plugin ' rudes/vim-java ' 要求 片段的 贡献 我是一个糟糕的...

    VMware vCenter Java包 vim25.jar

    Developer vCenter for java

    Vim实用技巧电子书

    vim是一款功能丰富而强大的文本编辑器,其代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中得到非常广泛的使用。vim能够大大提高程序员的工作效率。对于vim高手来说,vim能以与思考同步的速度编辑文本...

    vim使用进阶vim使用进阶vim使用进阶

    vim使用进阶vivivim使用进阶vim使用进阶m使用进阶m使用进阶vim使用进阶

    Vim用户手册中文版7.3.pdf.zip_vim 7

    使用 Vim 更多的是一种技能而 不是一种知识,Vim 的学习更需要的不是头脑而是双手,经常按书中的指示 进行示例性的操作,在学习 Vim 众多精致的技巧时,不要贪图一下子全都 掌握,最好是看一条技巧后,马上在编辑器...

    JavaUnit.vim:VIM中的Java单元测试

    ### JavaUnit.vim需求杰克您也可以使用我的叉子来提供gradle支持, 如果您不安装此插件,则JavaUnit将在其自己的缓冲区中显示结果,而不是显示unite。安装NeoBundle ' wsdjeg/JavaUnit.vim ' Plugin ' wsdjeg/Java...

Global site tag (gtag.js) - Google Analytics