用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写一个程序,从一个很长的字符串中搜索出某一段字符,列出所有符合的字符的主要内容,如果未能解决你的问题,请参考以下文章

java 很长的大数 如何用String 相加,相乘?

请教:用正则表达式从一个很长的无序的字符串中,找出所有的字母出来。?

从 JSON 中提取很长的字符串到 CLOB

Oracle中储存很大很长的字符串用啥类型

java基础变量数据类型

JAVA实现简单的画图板