精华内容
下载资源
问答
  •  原字符串为: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);
     }
    }

     

    展开全文
  • 需求描述:输入一串带重复字符的字符串,输出次出现的字符的字符串 例如:输入acvbabcd,输出结果应该是:acvbd 目录 方法一:利用StringBuffer + indexof 方法:利用StringBuffer + 正则表达式 方法一:...

    Hi ~ 小老弟开始转公众号啦,欢迎大家来指点迷津呀

     

    需求描述:输入一串带重复字符的字符串,输出第一次出现的字符的字符串

    例如:输入acvbabcd,输出结果应该是:acvbd


    目录

    方法一:利用StringBuffer + indexof

    方法二:利用StringBuffer + 正则表达式


    方法一:利用StringBuffer + indexof


    public String removeRepeatChar(String str) {
    	 
    	StringBuffer sb = new StringBuffer();
    	
    	for (int i = 0; i < str.length(); i ++) {
    		
    		char charWord = str.charAt(i);
    		
    		int firstPosition = str.indexOf(charWord);
     
            int lastPosition = str.lastIndexOf(charWord);
    		
    		if (firstPosition  == lastPosition || firstPosition == i) {
    			
    			sb.append(charWord);
    			
    		}
    	}
    	return sb.toString();
    }

    方法二:利用StringBuffer + 正则表达式


    public String removeRepeat(String str) {
    	
    	StringBuffer sb = new StringBuffer(str);
    	
    	String rs = sb.reverse().toString().replaceAll("(.)(?=.*\\1)", "");
    	
    	StringBuffer out = new StringBuffer(rs);
    	
        return out.reverse().toString();
    }

    展开全文
  • 这个方法是用来获取某个特定字符在指定字符串中第一次出现位置,通常用来判断是否包含或者用来进行字符串的截取,有些时候我们不仅需要获取这个特定字符第一次出现位置,可能还需要获取第二次、第三次甚至是第四...

    在开发过程中我们经常会用到String的indexOf方法,这个方法是用来获取某个特定字符在指定字符串中第一次出现的位置,通常用来判断是否包含或者用来进行字符串的截取,有些时候我们不仅需要获取这个特定字符第一次出现的位置,可能还需要获取第二次、第三次甚至是第四次出现的位置。
    怎么做呢?

    public static void main(String[] args) {
            //指定字符串
            String str = "welcome to china";
            //查找字符  o  出现的所有位置
            Pattern pattern = Pattern.compile("o");
            Matcher findMatcher = pattern.matcher(str);
            while(findMatcher.find()) {
                System.out.println(findMatcher.start());
            }
        }
    

    运行看下结果:
    在这里插入图片描述
    可以看下,结果是没有问题的。
    封装一下就可以使用了(方法的第二个参数是需要定位的字符或者字符串,如果是字符,传入的时候使用String.valueOf()方法转为String类型):

    	/**
    	 * @param data 指定字符串
    	 * @param str 需要定位的特殊字符或者字符串
    	 * @param num   第n次出现
    	 * @return  第n次出现的位置索引
    	 */
    	public static int getIndexOf(String data,String str,int num){
    		Pattern pattern = Pattern.compile(str);
    		Matcher findMatcher = pattern.matcher(data);
    		//标记遍历字符串的位置
    		int indexNum=0;
    		while(findMatcher.find()) {
    			indexNum++;
    			if(indexNum==num){
    				break;
    			}
    		}
    		System.out.println("字符或者字符串"+str+"第"+num+"次出现的位置为:"+findMatcher.start());
    		return findMatcher.start();
    	}
    

    调用:

    	public static void main(String[] args) {
    		//指定字符串
    		String str = "welcome to china";
    		//需要定位的可以是字符也可以是字符串,本示例是用的字符'o',需使用String.valueOf()方法转为字符串
    		getIndexOf(str, String.valueOf('o'), 1);
    	}
    

    试看结果:
    查询o第一次出现的位置:
    在这里插入图片描述

    查询o第二次出现的位置:
    在这里插入图片描述

    复制我写的封装方法,放到项目的共通里面就可以随处调用了,我是在main方法中测试的,你用到的时候可能需要把方法的static关键字去掉。

    展开全文
  • 题目:在字符串中找出一个只出现的字符的位置,如输入“abaccdeff”,则输出“2”。解法:以空间换时间,借助Hashmap实现import java.util.HashMap; import java.util.Map; import java.util.Set;public class...

    题目:

    在字符串中找出第一个只出现一次的字符的位置,如输入“abaccdeff”,则输出“2”。

    解法:以空间换时间,借助Hashmap实现

    import java.util.HashMap;
    import java.util.Map;
    import java.util.Set;
    
    public class Solution {
        public int FirstNotRepeatingChar(String str) {
            if(str==null||"".equals(str))
                return -1;
            Map<Character,Integer> map = new HashMap<Character,Integer>();
            Set<Character> keys = map.keySet();
            for(int i=0;i<str.length();i++){
                char c = str.charAt(i);
                if(keys.contains(c)){
                    int value = map.get(c).intValue();
                    value++;
                    map.put(c, value);
                }else{
                    map.put(c,1);
                }
            }
            for(int i=0;i<str.length();i++){
                char c = str.charAt(i);
                if(map.get(c).intValue()==1)
                    return i;
            }
            return -1;
        }
    }
    展开全文
  • 位置,然后在这个基础上再次确定第二个?的位置,但是这样过于麻烦,于是百度了下,发现commons-lang3-3.9.jar包里面包含一个 StringUtils.ordinalIndexOf函数,也就是确定某个字符第几次出现位置。 例如...
  • 转载地址:... public static int getCharacterPosition(String string){  //这里是获取"/"符号的位置  Matcher slashMatcher = Pattern.compile("/").matcher
  • 转自 : https://zhidao.baidu.com/question/274850061.html 第二个回答者aqi314819950    public class TestCode { public static void main(String[] args) { String str ="232ljsfsf.sdfl23....
  • Java字符串中查找匹配的子字符串

    万次阅读 多人点赞 2017-05-07 15:25:25
    Java字符串中查找匹配的子字符串
  • java 寻找指定字符第次出现位置 java 寻找指定字符第次出现位置
  • 两个字符串的操作
  • 获取目标字符串在源字符串第次出现的下标Demo
  • 截取倒数第二个"/"之后的字符串 String path="/home/henry/Desktop/1.txt"; //获得"Desktop/1.txt",并且不需要前面的"/" String oo=path.substring(path.lastIndexOf("/",path.lastIndexOf("/")-1)+1); /...
  • public static int getCharacterPosition(String string){  //这里是获取"/"符号的位置  Matcher slashMatcher = Pattern.compile("/").matcher(string);  int mIdx = 0;  while(slashMatcher.find()) {
  • //“A”第二次出现位置 System.out.println("'a'第二次出现位置是:"+start); int end = str.indexOf("d"); String substring = str.substring(start+1, end); System.out.println(substring); }
  • java字符串排序

    千次阅读 2019-08-09 19:29:18
    java字符串排序 今天收到一个公司的面试邀请,人还没去,直接面试题都发过来了,真仗义啊。哈哈哈,我看了一下面试题,难度还是挺高的,怪不得直接给我。 我大致看了一下关于java方面的面试题,我还是对其中一个编程...
  •  //N次出现位置  if(index==N){  break;  }  out.write(str.substring(0,mat.start()));  out.newLine();  } } out.flush(); in.close(); out.close();   转载于:...
  • 截取倒数三个"/"之后的字符串 public static String getThirdLocation(String url){ //index为最后的“/”字符所在的位置 int index=url.lastIndexOf(File.separator); //从最后的“/”字符的前一个位置...
  • 1、首先说明一下题目:给定两个字符串str1和str2,找到str2在str1次出现位置。例如str1=“lizhongyi” str2=“zhong” str2在str1次出现位置是2(从0开始)。 2、先抛开一切语言,单纯从算法的角度考虑...
  • java字符串

    千次阅读 2016-06-15 13:20:00
    java—–字符串  可以证明,字符串操作是计算机程序设计中最常见的行为。一、String  首先我们要明确,String并不是基本数据类型,而是一个对象,并且是不可变的对象。查看源码就会发现String类为final型...
  • Java字符串模版

    千次阅读 2016-12-08 13:28:35
    Java字符串模版
  • Java 字符串 正则表达式

    千次阅读 2018-10-31 11:29:59
    字符串 String类:最常用的字符串。初始化后不可改变,String变量的重新赋值其实是重新分配内存。 StringBuffer类:多线程环境中,可变字符串类。 StringBuilder类:单线程环境中,可变字符串类。 正则表达式 ...
  • JAVA 字符串

    千次阅读 2012-04-25 17:48:56
    一、java:字符串转换 str=java.net.URLEncoder.encode(str,"UTF-8");//本平台转换成UTF-8 str=java.net.URLDecoder.decode(str,"UTF-8");//UTF-8转换成本平台 字符串操作 java: 1.String substring(int ...
  • java byte转进制字符串

    千次阅读 2017-01-20 14:18:17
    java byte转进制字符串
  • //子字符串modelStr在字符串str中count次出现时的下标 private int getFromIndex(String str, String modelStr, Integer count) { //对子字符串进行匹配 Matcher slashMatcher = Pattern.compile(modelStr)....
  • JAVA字符串处理函数列表一览

    千次阅读 2017-05-13 21:41:16
    JAVA字符串处理函数列表一览Java中的字符串也是一连串的字符。但是与许多其他的计算机语言将字符串作为字符数组处理不同,Java将字符串作String类型对象来处理。将字符串作为内置的对象处理允许Java提供十分丰富的...
  •  给定一个由大写字母组成的字符串,返回一个单独出现的字母 分析:  1、思路一  创建HashMap集合,遍历字符串,将各个字母及对应的角标存到集合中,再次遍历字符串,看当前字符对应的角标和HashMap集合中...
  • java统计字符串中字母出现的次数

    千次阅读 2017-03-03 23:53:15
    看到一个面试题,突发奇想总结下统计字符串中字母出现次数的相关问题。 一、统计字符串出现的字母及其出现次数 直接上代码 @Test public void test() { getNums("aaacc好啊accjjj1jjkJkkoo"); } public ...
  • 字符串中找出第一个只出现的字符。解析:第一种第二种第三种 1.在字符串中找出第一个只出现的字符。 例: 输入:“abbaccdeff” 输出:‘d’ 解析: 有三种方法 第一种:按顺序一个个把字符抽出来与后面...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 383,078
精华内容 153,231
关键字:

java字符串第二次出现的位置

java 订阅