java 字符串匹配函数
/**
* 去掉字符串中匹配 的字符串
*
* @author zhujie
* @return String regex 要替换的内容 value 字符串 state 替换的内容变成什么
*/
public static String toRegex(String regex, String value, String state) {
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(value);
StringBuffer sb = new StringBuffer();
while (m.find()) {
m.appendReplacement(sb, state);
}
m.appendTail(sb);
return sb.toString();
}
public static void main(String[] args) {
* String regex = "\\p{Lower}"; //去掉里面的小写字符 regex ="'"; //去掉里面的 '
* regex="\\p{Sc}"; //去掉货币符号 $ regex="\\p{Punct}"; //去掉里面的所有的符号
* regex="\""; //去掉 " regex ="<.>"; //去掉里面的html 标签
*
* String value="fjdks<sss>jfl'fdk$$jfl";
* System.out.println(toRegex(regex,value,""));
*/
}
相关推荐
-
Java判断字符串中是否包含中文方法
今天和同事在讨论一个问题,需要检查"输入的字符串中是否包含中文",刚开始想到是用正则表达式,正则表达式中是以[u4e00-u9fa5]来全匹配字符是否是中文,但现在面临的问题是这个字符串中还可能包含英文字符.数字.特殊字符,一时也没想出能匹配该场景的正则表达式,后来在网上搜了下,可以使用Matcher类来解决该问题,大致的代码实现如下: import java.util.regex.Matcher; import java.util.regex.Pattern; public clas
-
java去除字符串中的空格、回车、换行符、制表符的小例子
复制代码 代码如下: import java.util.regex.Matcher;import java.util.regex.Pattern; /** * @author lei * 2011-9-2 */public class StringUtils { public static String replaceBlank(String str) { String dest = ""; if (str!=null) { Patte
-
Java实现字符串倒序输出的常用方法小结
本文实例汇总了Java实现字符串倒序输出的常用方法,分享给大家供大家参考.具体方法如下: 1. 最容易想到的估计就是利用String类的toCharArray(),再倒序输出数组的方法了. 实现代码如下: import javax.swing.JOptionPane; public class ReverseString { public static void main (String args[]){ String originalString; String resultString =
-
Java 字符串连接的性能问题分析
Java中使用+作为字符串连接符,它是把多个字符串合并成一个字符串的方便途径.对于单独一行的输出.或者较小的大小固定对象,使用连接符方便且合适.但是对于大规模的场景,字符串连接符变得有些不合时宜. 以连接N个字符串为列,重复的使用字符串连接符需要N的平方的时间量,最主要的原因是String类是不可变类导致的,即当连接两个字符串时,它们的内容都要存在一次拷贝.每一次连接,原有的两个字符串对象都不变,连接后的结果是一个新生成的对象.这种方式,不仅时间需求很大,而且对内存的要求也非常高. 如果拼接的字
-
java判断字符串String是否为空问题浅析
一.判断一个字符串str不为空的方法有: 1.str == null;2."".equals(str);3.str.length <= 0;4.str.isEmpty();注意:length是属性,一般集合类对象拥有的属性,取得集合的大小. 例如:数组.length就是取得数组的长度. length()是方法,一般字符串类对象有该方法,也是取得字符串长度. 例如:字符串.length();说明: 1.null表示这个
-
java拼接字符串时去掉最后一个多余逗号的方法
本文实例讲述了java拼接字符串时去掉最后一个多余逗号的方法.分享给大家供大家参考.具体分析如下: 先看下面这段代码: for (int t = 0; t < memberLen; t++) { memTemp = stafferMap.get(strMember[t]); if(memTemp != null){ memberNames += memTemp + ","; } } 以上的代码,拼接的字符串会多一个",",比如:"str1,str2,
-
用Java正则去掉字符串中重复出现的字符
String str = "abcdeabcdeabcdeaaaaaadddddceeeeabcccccccacadaeec"; str = str.replaceAll(reg, ""); System.out.println(str); str = str.replaceAll("(?s)(.)(?=.*\\1)", ""); (?s)(.)(?=.*\1) (?s) 开启单行模式 DOTALL 让. 号匹配任意字符 (.
-
Java生成MD5加密字符串代码实例
(1)一般使用的数据库中都会保存用户名和密码,其中密码不使用明码保存. 有时候用MD5密码,很多语言都提供了将字符串生成为MD5密码的方法或函数.MD5的加密算法是公开的. 有时候也可以用自己的字符串加密算法,这种加密算法是只有自己知道的. (2)破解MD5的过程就是先算好大量或者所有可能的字符串的MD5数值,之后进行查询就可以破解.虽然有些网站规定了密码的位数在6~20位之间,但是要事先计算这么多是字符串并有效的组织存储.查询还是相当麻烦,相当慢的. 因为MD5的位数是固定的,
-
java 字符串匹配函数
去掉字符串中匹配 的字符串 复制代码 代码如下: /** * 去掉字符串中匹配 的字符串 * * @author zhujie * @return String regex 要替换的内容 value 字符串 state 替换的内容变成什么 */ public static String toRegex(String regex, String value, String state) { Pattern p = Pattern.compile(regex); Matcher m = p.matc
-
Java实现字符串匹配的示例代码
目录 java实现字符串匹配 暴力匹配 KMP算法 java实现字符串匹配 暴力匹配 /** * 暴力匹配 * * @param str1 需要找的总字符串 * @param str2 需要找到的字符串 * @return 找到的字符串的下标 */ private static int violence(String str1, String str2) { char[] s1 = str1.toCharArray(); char[] s2 = str2.toCharArray(); int s
-
Java Pattern与Matcher字符串匹配案例详解
Pattern类定义 public final class Pattern extends Object implementsSerializable正则表达式的编译表示形式.用于编译正则表达式后创建一个匹配模式. 指定为字符串的正则表达式必须首先被编译为此类的实例.然后,可将得到的模式用于创建Matcher对象,依照正则表达式,该对象可以与任意字符序列匹配.执行匹配所涉及的所有状态都驻留在匹配器中,所以多个匹配器可以共享同一模式. 因此,典型的
-
Java String源码contains题解重复叠加字符串匹配
目录 原题 解题思路 Java String contains 函数 原题 重复叠加字符串匹配 解题思路 解题思路已经写在代码中了: class Solution { public: bool contain(string &a, string &b, long long hash_b) { for (int i = 0; i <= a.size() - b.size(); i++) { int k = 0; long long hash_a = 0; while (k < b
-
java暴力匹配及KMP算法解决字符串匹配问题示例详解
目录 要解决的问题? 一.暴力匹配算法 一个图例介绍KMP算法 二.KMP算法 算法介绍 一个图例介绍KMP算法 代码实现 要解决的问题? 一.暴力匹配算法 一个图例介绍KMP算法 String str1 = "BBC ABCDAB ABCDABCDABDE"; String str2 = "ABCDABD"; 1. S[0]为B,P[0]为A,不匹配,执行第②条指令:"如果失配(即S[i]! = P[j]),令i = i - (j - 1),
-
C++中用栈来判断括号字符串匹配问题的实现方法
本文实例主要实现:输入一个括号字符串,依次检验,若为左括号则入栈,若为右括号则出栈一个字符判断是否与之相对应,在最后还需判断栈是否为空,如果不为空则不匹配. 首先回顾栈的基本知识: 1.定义栈的结构体并初始化一个新栈: struct stack { char strstack[stacksize]; int top; }; void InitStack(stack &s) { s.top=-1; } 2.出栈和入栈操作: char Push(stack &s,char a) { if(s.
-
Java字符编码简介_动力节点Java学院整理
1. 概述 本文主要包括以下几个方面:编码基本知识,Java,系统软件,url,工具软件等. 在下面的描述中,将以"中文"两个字为例,经查表可以知道其GB2312编码是"d6d0 cec4",Unicode编码为"4e2d 6587",UTF编码就是"e4b8ad e69687".注意,这两个字没有iso8859-1编码,但可以用iso8859-1编码来"表示". 2. 编码基本知识 最早的编码是iso88
-
Python做简单的字符串匹配详解
Python做简单的字符串匹配详解 由于需要在半结构化的文本数据中提取一些特定格式的字段.数据辅助挖掘分析工作,以往都是使用Matlab工具进行结构化数据处理的建模,matlab擅长矩阵处理.结构化数据的计算,Python具有与matlab共同的特点:语法简洁.库丰富,对算法仿真来说都是一门简洁易用的语言. Python做字符串匹配相对来说上手比较容易,且具有成熟的字符串处理库re供我们使用: 在re库的帮助下,只需简单的两步就可完成匹配工作,对做数据分析/算法的工作者来说,轻松了许多: ste
-
Python 实用技巧之利用Shell通配符做字符串匹配
1.需求 当工作在UNIX Shell下时,我们想使用常见的通配符模式(即:.py,Dat[0-9].csv等)来对文本做匹配. 2.解决方案 fnmatch模块提供了两个函数:fnmatch()和fnmatchcase(),可用来执行这样的匹配,使用起来非常简单. 实例: from fnmatch import fnmatch,fnmatchcase print(fnmatch('mark.txt','*.txt')) print(fnmatch('mark.txt','?ark.txt'))
-
Python实现字符串匹配的KMP算法
kmp算法 KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt同时发现,因此人们称它为克努特--莫里斯--普拉特操作(简称KMP算法).KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的.具体实现就是实现一个next()函数,函数本身包含了模式串的局部匹配信息. #! /usr/bin/python # coding=utf-8 """ 基于这篇文章的python实现 http://bl
随机推荐
- 如何设计高效合理的MySQL查询语句
- js数组操作学习总结
- 正则中的圆括号()的用途详解
- Java使用DateFormatter格式化日期时间的方法示例
- MySQL使用临时表加速查询的方法
- git提交空目录的方法
- javascript表格隔行变色加鼠标移入移出及点击效果的方法
- JavaScript插件化开发教程 (二)
- 使用ThinkPHP生成缩略图及显示
- 微信小程序 loading(加载中提示框)实例
- C语言中二级指针的实例详解
- Android实现与Apache Tomcat服务器数据交互(MySql数据库)
- mysql read_buffer_size 设置多少合适
- 浅析一个MYSQL语法(在查询中使用count)的兼容性问题
- 一些PHP Coding Tips(php小技巧)[2011/04/02最后更新]
- 用div+css解决出现水平滚动条问题
- 详解Ruby中的代码块及其参数传递
- json属性名为什么要双引号(个人猜测)
- 详解Java8 新特性之日期API
- 深入C++ 函数映射的使用详解