用java写一个程序,从一个很长的字符串中搜索出某一段字符,列出所有符合的字符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用java写一个程序,从一个很长的字符串中搜索出某一段字符,列出所有符合的字符相关的知识,希望对你有一定的参考价值。
参考技术A import java.util.regex.Matcher;import java.util.regex.Pattern;
public class RecE
Pattern pattern;
Matcher matcher;
/* ps:
字符类
[abc] a、b 或 c(简单类)
[^abc] 任何字符,除了 a、b 或 c(否定)
[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)
[a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集)
[a-z&&[def]] d、e 或 f(交集)
[a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去)
[a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去)
预定义字符类
. 任何字符(与行结束符可能匹配也可能不匹配)
\d 数字:[0-9]
\D 非数字: [^0-9]
\s 空白字符:[ \t\n\x0B\f\r]
\S 非空白字符:[^\s]
\w 单词字符:[a-zA-Z_0-9]
\W 非单词字符:[^\w]
*/
public void getMatchedPattern(String regx,String source)
pattern = Pattern.compile(regx);
matcher = pattern.matcher(source);
int index = 1;
while(!matcher.hitEnd())
if(matcher.find())
System.out.println("找到第"+index +"个"+matcher.group());
index++;
System.out.println("一共找到"+(index-1)+"组匹配项");
public static void main(String[] args)
new RecE().getMatchedPattern("love","ilove12what i love23e tolove dolove a efe");
结果:
找到第2个love
找到第3个love
找到第4个love
一共找到4组匹配项 参考技术B 用正则表达式,或者使用indexOf
String path = "E:\\SOFT\\Develop\\spring-framework-3.1.0.RELEASE\\dist";
String forFind = path;
String find ="soft";
ArrayList<String> temp = new ArrayList<String>();
while (true)
int index = forFind.indexOf(find);
temp.add(forFind.substring(index, index + find.length()));
forFind = forFind.substring(index + find.length());
if (index == -1 || forFind.length() < find.length())
break;
参考技术C 自己看正则表达式
就两三句代码 参考技术D 列出所有符合的字符
subStringof
java基础变量数据类型
1.为什么需要变量
内存就像储物柜,用来存放各种东西或数据, 对程序员来书,数据存入内存只是第一步,还要考虑,怎样找到存入的数据,存入的数据能否修改;写程序就是在做内存存取,先把数据存入内存,需要的是很好拿出来。数据放到内存中,我们怎么找到它呢?这就要根据内存地址来找我们需要的数据,计算机的内存地址时16进制的,很长的一串字符,那我们能不能用其他的字符来代替这个地址呢?这个字符就是变量。
2.变量的声明和使用
第一步:声明一个变量以分配空间(根据类型开辟空间)
第二部:为变量赋值(将数据存入空间)
第三步:使用变量(取出数据、使用)
3。变量命名规则
变量名=首字符+其余部分
首字符:字母、下划线、$
其余部分:数字、字母、下划线、$
应避开关键字
符合驼峰命名法
若名字由多个单词组成,从第二个单词开始,首字母均大写
4.java数据类型
1,。基本数据类型:分为布尔类型(值为true或false)、数值类型
数值类型:分为整数类型、浮点类型
整数类型:byte(1字节(8位))、short(2字节(16位)、int(4字节(32位))、long(8字节(64位))、char(2字节(16位))
浮点类型:单精度float(4字节(32位))、双精度double(8字节(64位))
java对于整数有三种不同的表现形式
十进制:0-9,满10进一
八进制:0-7,满8进一,以0开头。
十六进制:0-9,A-F,满16进一,以0X开头
进制的基本转换
十进制转二进制:除2取余数
二进制转十进制:乘2的幂数
八进制、二进制互转:一位变三位、三位变一位
十六进制、二进制互转:一位变四位,四位变一位
负数的二进制表现形式
对应的正数二进制取反加一
基本类型转换
语法
自动类型转换
在满足以下条件时,系统自动完成类型转换也称隐含转换
1.两种类型兼容
2.目标类型大于源类型
3.对于表达式,如果操作数为double型,则整个表达式提升为double型
强制类型转换
在一定条件下,程序员手动完成类型转换
1.两种类型兼容
2.一般目标类型小于源类型
要点:强制类型转换会丢失精度!
以上是关于用java写一个程序,从一个很长的字符串中搜索出某一段字符,列出所有符合的字符的主要内容,如果未能解决你的问题,请参考以下文章