`
it577net
  • 浏览: 24486 次
  • 性别: 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正则表达式的使用

    在IT领域,特别是文本编辑与处理方面,vim作为一款高度可配置且功能强大的文本编辑器,其正...无论是日常的代码编辑还是大规模的数据处理任务,vim的正则表达式都能提供强大的支持,成为IT专业人士不可或缺的技能之一。

    Java实现vimJava实现的vimdemo

    然而,"Java实现的vimdemo"这个标题暗示了一个有趣的项目,即用Java语言重新实现Vim的一些核心功能或者创建一个类似的文本编辑器。下面将详细介绍这个项目可能涉及的知识点以及相关的编程技术。 1. **Java基础**:...

    正则表达式大全(超好)

    2. **awk**:awk是另一个强大的文本处理工具,它内置了正则表达式引擎,可以方便地处理文本数据。 3. **grep**:grep用于在文件中查找匹配特定模式的行,其支持正则表达式模式匹配。 4. **vi/vim**:vi编辑器中的...

    vim插件 java代码自动补齐

    在IT行业中,文本编辑器是开发者们不可或缺的工具,Vim作为一款强大的命令行文本编辑器,因其高效和高度可定制性而深受程序员喜爱。Java开发者在编写代码时,能够实时获得代码补全功能可以极大地提高开发效率。"vim...

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

    在IT行业中,文本处理是一项基本技能,而正则表达式(Regular Expression)是这个领域中的利器,尤其在使用像vim这样的强大编辑器时。本文主要介绍如何在vim编辑器中熟练掌握正则表达法,以及如何结合shell命令如...

    vim的java自动补全工具

    Java作为广泛应用的编程语言,其开发效率可以通过使用 Vim 的自动补全工具得到显著提升。本篇文章将详细探讨如何在 Vim 中配置和使用 Java 自动补全功能,以及相关提示。 首先,让我们了解 Vim 的自动补全功能。Vim...

    Gvim/Vim配置文件(for Java)

    通过这些配置和插件,Java开发者可以打造一个高度个性化的Vim工作环境,提高编程效率,减少不必要的操作,使Vim成为得心应手的开发工具。在实际使用中,还可以根据个人习惯和项目需求进一步调整和完善这些配置,使...

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

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

    java vim 插件

    Java Vim 插件是开发人员为了提升在Vim编辑器中编写Java代码效率而设计的一系列工具集合。这些插件通常包含语法高亮、代码自动完成、错误检查、格式化等功能,极大地增强了Vim对Java语言的支持。在Vim这个高度可定制...

    正则表达式chm系统教程(一个)

    9. **在不同环境中的应用**:讲解如何在各种编程语言(如Python、JavaScript、Java等)或工具(如grep、sed、vim等)中使用正则表达式。 10. **高级主题**:可能包括正则表达式的回溯机制、后向引用、条件匹配、非...

    notepad++使用vim插件

    标题"notepad++使用vim插件"指出,我们要讨论的是如何在Notepad++中安装和使用Vim插件。这个过程并不复杂,主要涉及一个名为visimulator.dll的动态链接库文件。动态链接库(DLL)是一种共享库,它包含可供多个程序...

    vim下的java开发插件vjde

    vjde(Vim Java Development Environment)是专为 Vim 设计的一个Java开发插件,旨在提升在 Vim 中编写、调试和管理Java项目的能力。下面将详细介绍vjde插件的功能和使用方法。 1. **自动完成**: vjde提供了Java...

    vim 配置 vim 配置

    Vim是一款强大的文本编辑器,其高度可定制性使得用户能够根据个人喜好和需求进行配置。在本文中,我们将深入探讨如何配置Vim,特别是关于字符编码的设置,以确保在处理不同编码的文件时避免乱码问题。 首先,我们要...

    精通正则表达式&正则表达式经典实例

    正则表达式,简称为正则,是一种强大的文本处理工具,用于匹配、查找、替换、分析等操作。在编程和数据分析领域,正则表达式扮演着至关重要的角色,尤其是在处理和解析字符串时。《精通正则表达式》与《正则表达式...

    vim格式化html插件

    【vim格式化html插件】是一个为Vim编辑器量身定制的工具,它使得在Vim中编辑和格式化HTML代码变得更加方便高效。Vim作为一个强大的文本编辑器,其本身虽然提供了基础的代码编辑功能,但对于HTML这种结构化的语言,...

    精通正则表达式

    正则表达式是一种强大的文本处理工具,用于在字符串中匹配、查找、替换或者提取特定模式。它是编程语言中不可或缺的一部分,被广泛应用于数据验证、文本分析、搜索与替换等场景。"精通正则表达式"这本书,特别是第三...

Global site tag (gtag.js) - Google Analytics