相关文章推荐
胆小的香烟  ·  C++ ...·  10 月前    · 
销魂的风衣  ·  还在用log.isDebugEnabled( ...·  1 年前    · 
鬼畜的充值卡  ·  Exception 类 (System) ...·  1 年前    · 
痴情的单杠  ·  ASP.NET Core Blazor ...·  1 年前    · 
这篇博客介绍了如何在Android中使用正则表达式分割字符串时保留规则中的特殊字符。作者通过研究并修改split方法的源码,实现了一个功能,确保分割过程中字符不被去除,分享了具体的操作步骤和结果。 摘要由CSDN通过智能技术生成

正常情况下 string.split方法分割出来的字符串会把正则中包含的特殊字符去掉,为了达到保留字符的需求,翻了一下split源码,copy出来稍作改动,此处记录一下。

    //示例字符串
	String string = "Long long ago there.was a prin,cess in a castle \"which was on, the edge of the cliff. The princess was\"dreaming of marrying a handsome prince...";
	//正则表达式,以空格 英文逗号、句号、引号为例 
    String regex = "(\\d|\\ |\\.|\\,|\\?|\\!|\\\")";
	//调用方式
	for (String string2 : split(string, regex)) {
        L.e(string2);
public String[] split(CharSequence input,String regex) {
    int index = 0;
    ArrayList<String> matchList = new ArrayList<>();
    String string = input.toString();
    Pattern pattern = Pattern.compile(regex);
    Matcher m = pattern.matcher(string);
	//这里是targetSdkVersion>28时的处理方法,其他情况查看Pattern源码
    while (m.find()) {
        String match = input.subSequence(index, m.start() + 1).toString();
        matchList.add(match);
                    正常情况下 string.split方法分割出来的字符串会把正则中包含的特殊字符去掉,为了达到保留字符的需求,翻了一下split源码,copy出来稍作改动,此处记录一下。    //示例字符串	String string = "Long long ago there.was a prin,cess in a castle \"which was on, the edge of the clif...
得的数据与所需输出的数据不同是就需要处理一下。这里采用的是string[] Regex.Split(string input,string pattern)语法,在由正则表达式模式项定义的位置将输入字符串拆分为一个字符串数组。
这里先将数据并排,(题型:单选题难度:一般使用单位:重庆高教..
String result =
“内地综艺,剧情,动作,动漫电影,台湾,喜剧,国产,国产动漫,微电影,恐怖,战争,日本,日韩动漫,日韩综艺,欧美,欧美动漫,欧美综艺,泰国,海外,海外动漫,港台动漫,港台综艺,爱情,电影解说,科幻,纪录,综艺,解说,韩国,香港”;
其拆分为数组的部分(这里没写全,类和适配器写完后,会重新列出来)
 String[] str=
				
public static void main(String[] args) { String a = "a, b,c.d,e "; String[] split = a.split("[( )(,)(\\. )]");
该方法以正则表达式的满足情况为前提,将一个字符串拆分为多个子字符串 String str = "name=小明&age=18&address=地球";//一个字符串 //将字符串name=小明&age=18&address=地球 进行拆分         String[] StrArray = str.split("&");//分割出来的字符数组         String[] Str1
1.不同环境下的区分 Java:分割字符串不能写split(“$”)//$为要分割字符 Android分割字符串需要加上括号split(“[$]”)//$为要分割字符 2.特殊用法–当split()分割字符串遇上特殊符号 String str = abc|dfg; String[] all=str.split(|); system.out.println(all[0]); 结果为 a | 在正则表达式是个已经被使用的特殊符号(”.”、”|”、”^”等字符) 所以想要使用 | ,必须用 \ 来进行转义,而在java字符串,\
一.java.lang.String提供的split字符串分隔时,我们有时需要指定忽略或者不忽略某些分隔符,例如: String string=":ab:cd:ef::"; ①末尾分隔符全部忽略 System.out.println(string.split(":").length);输出为4 String s[]={,ab,cd,ef}; ②不忽略任何一个分隔符 System
split(String regex)           根据给定正则表达式的匹配拆分此字符串。 而"."在正则表达式属于预定义字符类  表示任何字符(与行结束符可能匹配也可能不匹配) 转自http://www.cnblogs.com/leaven/archive/2012/06/13/2548159.html          首先从编辑框字符串取出来,赋值给一个字符串变量。在用split方法把取得的字符串转换数组。    String str = et_1.getText().toString;//取出字符串   String[ ] str_Array = str.split(","
可以使用 JavaScript 的 `split()` 方法将一个字符串分割数组。该方法接受一个分隔符作为参数,将字符串按照该分隔符进行分割,并返回一个数组。 例如,将一个以逗号分隔的字符串分割数组: ```javascript let str = "apple,banana,orange"; let arr = str.split(","); console.log(arr); // ["apple", "banana", "orange"] 如果分割符为空字符串,则会将字符串的每个字符分割一个数组元素: ```javascript let str = "hello"; let arr = str.split(""); console.log(arr); // ["h", "e", "l", "l", "o"] 除了单个字符作为分隔符外,`split()` 方法也支持正则表达式作为分隔符。例如,将一个以空格或逗号分隔的字符串分割数组: ```javascript let str = "apple, banana orange"; let arr = str.split(/,|\s+/); // 使用正则表达式匹配逗号或一个或多个空格作为分隔符 console.log(arr); // ["apple", "banana", "orange"]