`
baby69yy2000
  • 浏览: 187744 次
  • 性别: Icon_minigender_1
  • 来自: 自己输入城市...
社区版块
存档分类
最新评论

Java 处理字符串方法搜集

阅读更多
//去掉字符串首位引号
private String trimQuotes(String s) {
	int index = -1;
	if (s.charAt(0) == '"') {
		index = s.lastIndexOf('"');
		s = s.substring(1, index);
	}
	return s;
}


//插入字符串-1
String s = "apqs book bobs book";
//在左面是apq右面是是s处插入字符串"'"
String reg1 = "(?<=apq)(?=s\\b)";
Pattern p = Pattern.compile(reg1);
Matcher m = p.matcher(s);
s = m.replaceAll("'");
System.out.println(s); //apq's book bobs book

//替换字符串-1
String s = "apqs book bobs book";
String reg1 = "(apq)(s\\b)";
Pattern p = Pattern.compile(reg1);
Matcher m = p.matcher(s);
s = m.replaceAll("$1'$2");
System.out.println(s); //apq's book bobs book
		
//替换字符串-2
System.out.println(s.replaceAll("apqs\\b", "apq's")); //apq's book bobs book

//插入字符串-2
String s = "价格 ¥987654321 元 ";
//首先从字符串末尾开始找,当走到4和3中间的时候问问:
//左面的是不是有一位数字(?<=\\d),右面是不是有三位数字(?=(\\d\\d\\d)+)
//如果是插入逗号在4和3中间
String reg = "(?<=\\d)(?=(\\d\\d\\d)+$)";
//(?!\\d)起定位作用,右面不是数字
String reg1 = "(?<=\\d)(?=(\\d\\d\\d)+(?!\\d))";
Pattern p = Pattern.compile(reg1);
Matcher m = p.matcher(s);
s = m.replaceAll(",");
System.out.println(s);*/ //价格 ¥987,654,321 元


//匹配E-mail
s = "apq@163.com eee";
String reg = "\\b(\\w[-.\\w]*\\@[-a-zA-Z0-9]+(\\.\\w+)+)\\b";
Pattern p = Pattern.compile(reg);
Matcher m = p.matcher(s);
s = m.replaceAll("<a href='mailto:$1'>$1</a>");
//<a href='mailto:apq@163.com'>apq@163.com</a> eee
System.out.println(s);

//匹配Http URL
String reg = "\\b(http://[-a-zA-Z0-9]+(\\.[-a-zA-Z0-9]+)*\\.(com|cn|edu|org|info)\\b(/[-a-zA-Z0-9_:\\@&?=+,.!/~*'%\\$]*(?<![.,?!]))?)";


(?=) (?!) (?<=) (?<!)
(?=) (?!) (?<=) (?<!)
String s = "555a666b";
//-----------------------------------------
//(从前往后数)

//(?=a)放在后面: 后面是a的,不捕获a //555
//(?=a)放在前面: 开头的是a,如果符合条件一共捕获 3个字符, 包括a, 否则不捕获//a66
//Pattern p = Pattern.compile(".{3}(?=a)");

//(?!a)放在后面: 后面的不是a,不捕获a //55a 666
//(?!a)放在前面: 前面的不是a //555 666
//Pattern p = Pattern.compile("(?!a).{3}");
//-----------------------------------------
//从后往前数)

//(?<=a)放在后面: 一次吃三个字符, 结尾是a的(从后往前数),包括a //55a
//(?<=a)放在前面: 一次吃三个字符, 开头的是a(从后往前数),不包括a //666
//Pattern p = Pattern.compile("(?<=a).{3}");

//(?<!a)放在后面: 一次吃三个字符, 结尾的不是a(从后往前数) //555 a66
//(?<!a)放在前面: //555 a66
Pattern p = Pattern.compile("(?<!a).{3}");

Matcher m = p.matcher(s);
while (m.find()) {
	System.out.println(m.group()); 
}


//匹配多行注释
String reg1 = "/\\*[^*]*\\*+(?:[^/*][^*]*\\*+)*/";
//匹配单行注释
String reg2 = "//[^\n]*";
//匹配字符串
String reg3 = "\"[^\"]*(\\\\.[^\"]*)*\"";
分享到:
评论

相关推荐

    java常用字符串方法网络收集txt版

    下面将详细介绍一些Java字符串处理的关键知识点。 1. **字符串类(String)**:Java中的字符串是不可变的,这意味着一旦创建了一个字符串对象,就不能改变其内容。字符串对象是通过`String`类创建的,例如`String str...

    java常用字符串方法,网络收集,txt版

    本资源"java常用字符串方法,网络收集,txt版"主要整理了Java中常用的字符串处理方法,这对于Java程序员来说是一份宝贵的参考资料。下面,我们将详细探讨这些方法,并结合实例进行讲解。 1. **创建字符串** - `...

    java替换字符串中的符号

    在Java编程语言中,处理字符串是一项常见的任务,尤其是在文本处理、数据清洗以及各种与字符串相关的操作中。本文将深入探讨如何在Java中替换字符串中的特定符号,并解析代码示例,以便更好地理解其工作原理。 ### ...

    JAVA 从一个字符串中删除指定字符

    我们可以将字符串转换为字符数组,然后通过`stream()`方法创建一个流,再通过`filter()`方法过滤掉指定的字符,最后用`collect()`方法收集结果。 ```java public String removeCharWithStream(String str, char c) ...

    JAVA字符串操作类CTool.java字符转换类.rar

    JAVA字符串操作类CTool.java字符转换类,此类中收集Java编程中WEB开发常用到的一些工具。为避免生成此类的实例,构造方法被申明为private类型的。封装的功能:字符串从GBK编码转换为Unicode编码、对字符串进行md5...

    将输入的字符串反转 java

    Java 8引入的流API提供了一种简洁的反转字符串的方法,通过映射每个字符到它自身并收集回字符串。 ```java public class StringReverse { public static void main(String[] args) { String input = "将输入的...

    字符串转换为计算公式的若干种方法

    从给定的文件标题“字符串转换为计算公式的若干种方法”及描述“个人收集的几种将字符串表达式转换为计算公式的方法”中,我们可以看出文章主要探讨的是如何将文本形式的数学表达式(字符串)转化为可以进行计算的...

    java将字符串反转几种方法总结.rar

    这需要将字符串转换为字符流,然后使用`collect()`方法收集反向排序的字符。 ```java String str = "Hello World"; String reversed = IntStream.range(0, str.length()) .mapToObj(str::charAt) .collect...

    字符串反解析成树结构

    在IT领域,尤其是在数据处理和数据结构相关的编程任务中,字符串反解析成树结构是一项常见的操作。这个过程通常涉及到从一串预定义格式的字符串中提取信息,并将这些信息构建成一个具有层级关系的数据结构——树。在...

    Java字符串逗号分割实现.pptx.pptx

    本篇内容主要探讨了两种常见的Java字符串转列表的方法:使用`split()`函数和Java 8的Stream API。 1. **字符串分割**: - 字符串分割的概念是指根据特定的分隔符将一个字符串切割成多个子字符串,生成一个字符串...

    一种针对Java中字符串的内存管理方案 (1).pdf

    本文提出的是一种针对Java字符串的内存管理方案,旨在通过主动回收无用字符串占用的堆空间,提高内存利用率,并减轻垃圾收集器的压力,从而提升Java虚拟机(JVM)的整体性能。 在Java语言中,字符串是通过String、...

    java中用栈的思想实现字符串括号匹配

    括号匹配是计算机科学中一个基础且关键的问题,主要用来检查一个字符串中的左右括号是否正确配对。例如,我们常见的括号有大括号`{}`、小括号`()`、中括号`[]`。 在这个描述中提到的程序,是利用栈来检查字符串中的...

    Java8 将List<Integer> 转换成以逗号分割的String字符串

    在Java编程中,将一个`List&lt;Integer&gt;`转换成以逗号分隔的`String`字符串是一种常见的需求,尤其是在处理数据展示或格式化输出时。Java 8引入了新的特性和方法,使得这种转换变得更加简洁和高效。下面我们将深入探讨...

    Java字符串及数组操作的实例源码

    本资源"Java字符串及数组操作的实例源码"提供了一系列相关的实践代码,帮助开发者更好地理解和运用这些概念。 首先,字符串在Java中是不可变的对象,这意味着一旦创建了字符串对象,就不能改变其内容。String类提供...

    Java 实例 - 两种连接字符串方法的性能比较源代码-详细教程.zip

    在Java编程中,连接字符串是一项常见的操作,但不同的方法可能会对程序性能产生显著影响。本教程将深入探讨两种主要的字符串连接方式:`StringBuffer` 和 `StringBuilder`,并通过实例源代码进行性能比较。这两种类...

    Java求字符串中出现次数最多的字符串以及出现次数

    在Java编程中,统计字符串中出现次数最多的字符及其出现次数是一项常见的任务,尤其在数据处理和...理解并熟练掌握这些工具和方法对于Java开发者来说非常重要,因为它们在处理各种数据结构和字符串操作时都会派上用场。

    删除字符串中的空格或将字符串的多个空格换位单个空格

    总的来说,理解和掌握这些字符串处理方法是每个Java开发者的基本功,它们能帮助我们在处理字符串时游刃有余。在`StringUtil.java`这样的工具类中,我们可以封装这些功能,方便在项目中重复使用。

    chongfu.rar_Java字符串空格_单词统计_统计单词

    "chongfu.rar_Java字符串空格_单词统计_统计单词"这个标题暗示了我们将重点研究基于空格分隔的字符串进行单词统计的方法。 首先,我们需要理解Java中的字符串对象。`String`类在Java中是不可变的,这意味着一旦创建...

    Java排列组合字符串的方法

    Java 排列组合字符串的方法 Java 排列组合字符串是一种常见的编程问题,旨在生成所有可能的字符串排列组合。下面我们将详细介绍 Java 排列组合字符串的方法。 什么是排列组合 排列组合是一种数学概念,指的是从一...

Global site tag (gtag.js) - Google Analytics