精华内容
下载资源
问答
  •  原字符串为:yulv # 123456 # yulv@21cn.com  此处用Matcher和Pattern类会非常简单,这两个类是利用正则表达式匹配查找的相关类,详细可以参见java Pattern和Matcher详解  我的代码如下: public class ...

    今天工作,需要将一串信息,包括用户名、密码、邮箱的字符串,将用户名和邮箱截取出来。

        原字符串为:yulv # 123456 # yulv@21cn.com

        此处用Matcher和Pattern类会非常简单,这两个类是利用正则表达式匹配查找的相关类,详细可以参见java Pattern和Matcher详解

        我的代码如下:

    public class MatcherTest {
     public static void main(String[] args) {
     String str = "yulv # 123456 # yulv@21cn.com";
     Matcher matcher=Pattern.compile("#").matcher(str);
     if(matcher.find()){
    	 System.out.println(matcher.start());
     }else{
    	 System.out.println("null");
     }
     //String receiverName=str.substring(0,matcher.start()).trim();
     //System.out.println(receiverName);
     }
    }

     

    展开全文
  • Java字符串中查找匹配的子字符串

    万次阅读 多人点赞 2017-05-07 15:25:25
    Java字符串中查找匹配的子字符串

    示例:
           在源字符串“You may be out of my sight, but never out of my mind.”中查找“my”的个数。输出:匹配个数为2

    三种方法:
           1.通过String的indexOf方法
           2. 通过正则表达式
           3. 通过String的split方法
    其中第一种方法只能用于精确匹配,第二三种则可以模糊匹配(方法3的参数为正则表达式)。例如:若将child改为“.my.”,第一种方法失效。

    方法1:通过String的indexOf方法

    public int indexOf(int ch, int fromIndex) :返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。如果不存在则返回 -1。

    //方法1、通过String的indexOf(String str, int fromIndex)方法
    	private void matchStringByIndexOf( String parent,String child )
    	{
    		int count = 0;
    		int index = 0;
    		while( ( index = parent.indexOf(child, index) ) != -1 )
    		{
    			index = index+child.length();
    			count++;
    		}
    		System.out.println( "匹配个数为"+count );							  //结果输出
    	}
    

    方法2:通过正则表达式

    类 Pattern :正则表达式的编译表示形式。
           指定为字符串的正则表达式必须首先被编译为此类的实例。然后,可将得到的模式用于创建 Matcher 对象,依照正则表达式,该对象可以与任意字符序列匹配。执行匹配所涉及的所有状态都驻留在匹配器中,所以多个匹配器可以共享同一模式。
           因此,典型的调用顺序是
           Pattern p = Pattern.compile(“a*b”);
           Matcher m = p.matcher(“aaaaab”);
           boolean b = m.matches();

    • 类 Matcher:通过调用模式的 matcher 方法从模式创建匹配器。创建匹配器后,可以使用它执行三种不同的匹配操作:
             matches 方法尝试将整个输入序列与该模式匹配。
             lookingAt 尝试将输入序列从头开始与该模式匹配。
             find 方法扫描输入序列以查找与该模式匹配的下一个子序列
    //方法2、通过正则表达式
    	private void matchStringByRegularExpression( String parent,String child )
    	{
    		
    		int count = 0;
    		Pattern p = Pattern.compile( child );
    		Matcher m = p.matcher(parent);
    		while( m.find() )
    		{
    			count++;
    			System.out.println( "匹配项" + count+":" + m.group() ); //group方法返回由以前匹配操作所匹配的输入子序列。
    		}
    		System.out.println( "匹配个数为"+count );							  //结果输出
    	}
    

    方法3:通过String的split方法

    public String[] split(String regex):根据给定正则表达式的匹配拆分此字符串。 该方法的作用就像是使用给定的表达式和限制参数 0 来调用两参数 split 方法。因此,所得数组中不包括结尾空字符串。

    //方法3、通过split方法
    	private void matchStringBySplit( String parent,String child )
    	{
    		String[] array = parent.split(child);
    		System.out.println( "匹配个数为" + (array.length-1) );
    	}
    

    完整代码:

    import java.util.Arrays;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    /**
     * 在字符串中查找匹配的子字符串
     * author:大能豆   QQ:1023507448
     * case :
     * 源字符串:You may be out of my sight, but never out of my mind.
     * 要查找的子字符串:my
     * 输出:匹配个数为2
     */
    public class MatchString {
    
        //方法1、通过String的indexOf(String str, int fromIndex)方法
        private void matchStringByIndexOf(String parent, String child) {
            int count = 0;
            int index = 0;
            while ((index = parent.indexOf(child, index)) != -1) {
                index = index + child.length();
                count++;
            }
            System.out.println("匹配个数为" + count);//结果输出
        }
    
        //方法2、通过正则表达式
        private void matchStringByRegularExpression(String parent, String child) {
            int count = 0;
            Pattern p = Pattern.compile(child);
            Matcher m = p.matcher(parent);
            while (m.find()) {
                count++;
                System.out.println("匹配项" + count + ":" + m.group()); //group方法返回由以前匹配操作所匹配的输入子序列。
            }
            System.out.println("匹配个数为" + count); //结果输出
        }
    
        //方法3、通过split方法,但此方法需考虑子字符串是否是在末尾,若在末尾则不需要-1
        private void matchStringBySplit(String parent, String child) {
            String[] array = parent.split(child);
            System.out.println("匹配个数为" + (array.length - 1));
        }
    
        public static void main(String[] args) {
            MatchString ms = new MatchString();
            String parent = "You may be out of my sight, but never out of my mind.";
            String child = "my";
    
            System.out.println("------通过indexOf-------");
            ms.matchStringByIndexOf(parent, child);  //调用方法1
    
            System.out.println("------通过正则表达式-------");
            ms.matchStringByRegularExpression(parent, child);  //调用方法2
    
            System.out.println("------通过split方法-------");
            ms.matchStringBySplit(parent, child);  //调用方法3
    
            String test = "abcdbdasda";
            String[] as = test.split("a");
            System.out.println(Arrays.toString(as));
        }
    
    }
    
    
    展开全文
  • JAVA统计字符串中包含某个字符字符串的个数 目录JAVA统计字符串中包含某个字符字符串的个数1、创建类方法2、调用3、打印结果 1、创建类方法 public class CommonUtil { //统计字符串包含某个字符串的个数 ...

    JAVA统计字符串中包含某个字符或字符串的个数

    1、创建类方法

    public class CommonUtil {
    
        //统计字符串包含某个字符串的个数
        public static int countStr(String str1, String str2) {
            int counter = 0;
            counter = countStr(str1, str2, counter);
            return counter;
        }
    
        //递归函数
        private static int countStr(String str1, String str2, int counter) {
            if (str1.contains(str2)) {
                counter++;
                counter = countStr(str1.substring(str1.indexOf(str2) + str2.length()), str2, counter);
            }
            return counter;
        }
    
    }
    

    2、调用

        public static void main(String[] args) {
            System.out.println(CommonUtil.countStr("abcd,efgh,abcd",","));
            System.out.println(CommonUtil.countStr("abcd,efgh,abcd","ab"));
            System.out.println(CommonUtil.countStr("abcd,efgh,abcd","ef"));
        }
    

    3、打印结果

    在这里插入图片描述

    展开全文
  • Java查询字符串中某个字符出现的个数 /** * 查询字符串中“ '_' ”出现的次数 * * @param string * @return */ public static int testFindChar(String string) { String str = string; // 存放...

    Java查询字符串中某个字符出现的个数

    	/**
    	 * 查询字符串中“ '_' ”出现的次数
    	 * 
    	 * @param string
    	 * @return
    	 */
    	public static int testFindChar(String string) {
    		String str = string;
    		// 存放每个字符的数组
    		String[] strs = new String[str.length()];
    		// 计数该字符出现了多少次
    		int count = 0;
    		// 先把字符串转换成数组
    		for (int i = 0; i < strs.length; i++) {
    			strs[i] = str.substring(i, i + 1);
    		}
    		// 挨个字符进行查找,查找到之后count++
    		for (int i = 0; i < strs.length; i++) {
    			if (strs[i].equals("_")) {
    				count++;
    			}
    		}
    		return count;
    	}
    展开全文
  • 此处用Matcher和Pattern类会非常简单,这两个类是利用正则表达式匹配查找的相关类,详细可以参见java Pattern和Matcher详解 public static void main(String[] args) { String str = "人生自古谁无死,留取丹心...
  • 获取字符串某个字符的最大连续出现次数 字符串NN1N123BNNNN N的最大连续出现次数为4 NN1N123BNNNN public static void main(String[] args) { ... * 获取字符串某个字符的最长连续字符个数 : NN1N...
  • public class PatternMatchUtils { private static final String DASH = "-2";... //寻找第一个破折号出现的位置 final Matcher matcher= Pattern.compile(DASH).matcher(sourceNo); if (!matc.
  • Java截取字符串:主要有substring()、split()、substringBefore()、substringBeforeLast()四种,其实也是三种,因为第三第四其实就是一种,他们是String工具类提供的截取方法; 首先说的是正则的这种截取方法: ...
  • 1 使用String类的contains()方法 contains()方法用于判断字符串中是否包含指定的字符或字符串。语法如下: public boolean contains(CharSequence chars) ...所以,用contains方法判断字符串中是否包含某个
  • int count = 0,index = 0; while((index = sql.indexOf("=",index)) != -1) { count++; index += 1; }
  • package com.tedu.http; public class ee { public static void main(String[ ] args) { String str="比如说这个吧!就是这个了"; String [ ] line=str.split("!"); for(String s:line) { ...}
  • Java替换字符串中指定位置字符串

    千次阅读 2019-10-09 12:46:45
    Java替换字符串中指定位置字符串 利用StringBuilder: String str1="123456789你好.jpj"; StringBuilder sb=new StringBuilder(str1); sb.replace(str1.length()-6, str1.length()-4, "nihao"); String str2=...
  • java修改字符串中某个位置字符

    万次阅读 2018-05-08 15:30:40
    方法很多种,先写一种String item = "1111111111"; char[] status = item.toCharArray(); status[6] = '6'; status[7] = '6';...String ss = Arrays.toString(status).replaceAll("...
  • StringBuffer sb = new StringBuffer("原字符串"); sb.insert(index,"需要插入的字符串");
  • java判断字符串是否包含某个字符(串)

    万次阅读 多人点赞 2018-07-28 18:38:18
    判断一个字符串是否包含某个子串的n种方法 startsWith() contains方法 indexOf方法 startsWith() 这个方法有两个变体并测试如果一个字符串开头的指定索引指定的前缀或在默认情况下从字符串开...
  • 在开发过程我们经常会用到String的indexOf方法,这个方法是用来获取某个特定字符在指定字符串中第一次出现的位置,通常用来判断是否包含或者用来进行字符串的截取,有些时候我们不仅需要获取这个特定字符第一次...
  • 要求:找出字符串里所有的love及其出现位置与出现次数。 这次就不写注释了,相信在座的各位都看得懂吧 代码: package net.dc.lesson20.exercise; public class GetStrPosition { public static void main(String...
  • java统计字符串中某个单词出现次数

    千次阅读 2019-09-19 19:39:00
    public class StringTest2 { public static void countWord(String s,String word){ int count = 0; String substr; int index; while(s.contains(word)){ count++;... index = s.indexOf(word);...
  • java字符串删除字符串Sometimes we have to remove character from String in java program. But java String class doesn’t have remove() method. So how would you achieve this? 有时我们必须在Java程序从...
  • Java截取字符串的常见方法

    万次阅读 多人点赞 2019-02-27 19:54:44
    在项目经常会遇到截取字符串的需求,这里重点介绍两种常见的截取字符串方法。 方法一:通过split() 将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则非常...
  • 要求:实现方法 replace,能够替换字符串中某个部分。 具体代码如下: public class Test1_19 { public static void main(String[] args) { String str1 = "efcdef"; String str2 = "ab"; System.out....
  • 提示:java截取某个字符之前或者之后的字符串 文章目录一、java截取某个字符之前或者之后的字符串:1. 截取"_"之前字符串2. 截取"_"之后字符串二、截取正数第二个"_"后面的内容 一、java截取某个字符之前或者之后的...
  • 主要介绍了JAVA实现往字符串中位置加入一个字符串,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • public class Test1 { public static void main(String[] args) { String a = "0_11_16_17_18_"; String b = ""; // 获取循环次数 int fromIndex = 0; i...
  • 开发有时会遇到需要截取一个字符串中某个变量后面带的值,并对这个值做简单运算的情况,比如“tom, age 23, come fron us”, 这里想判断年龄是否大于30岁,实现如下: 1 String inputstr = "tom, age 23, come...
  • java字符串固定位置插入字符串

    千次阅读 2019-12-05 11:39:44
    java字符串固定位置插入字符串需求描述功能实现 需求描述 美国官方电话格式如:xxx-xxx-xxxx ,而客户录入的电话通常是一串数字3463359870,我们需要将客户录入的数字转换为官方格式。 也就是说我们要在字符串固定...
  • java中字符不能这样写是s[1];应当用函数调用 import java.util.Scanner; public class zifuchauan2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s; s...
  • * 判断str1包含str2的个数 * @param str1 * @param str2 * @return counter */ public static int countStr(String str1, String str2) { if (str1.indexOf(str2) == -1) { return 0; } else if (st....
  • Java 获取字符串中第N次出现的字符位置  (2012-04-06 10:50:27) 转载▼ 标签:  string   截取   位置   it 分类: JAVA_Discuss public static int ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 377,218
精华内容 150,887
关键字:

java获得字符串中某个字符的位置

java 订阅