在android开发中我们往往有时候需要对一些字符串做一些处理,来达到自己想要的效果,下面介绍几种方法:
Pattern pattern = Pattern.compile("(http://|https://){1}[\\w\\.\\-/:]+");
Matcher matcher = pattern.matcher("dsdsds<http://dsds//gfgffdfd>fdf");
StringBuffer buffer = new StringBuffer();
while(matcher.find()){
buffer.append(matcher.group());
buffer.append("\r\n");
System.out.println(buffer.toString());
Log.i(TAG, "截取得到字符串是:"+buffer.toString());
}
String url="http://192.144.136.44:8080/cms/apizsa.ptg?authkey=141414&do=get_category";
StringBuilder sb = new StringBuilder();
sb.append(url.split(":")[0]).append(":").append(url.split(":")[1]).append(":");
sb.toString();
Log.i(TAG, "截取得到的字符是:"+sb.toString());
◆ 只允许字母和数字
String regEx = "[^a-zA-Z0-9]";
◆ 清除掉所有特殊字符
String regEx="[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……& amp;*()——+|{}【】‘;:”“’。,、?]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
return m.replaceAll("").trim();
}
◆比如,在字符串包含验证时
//查找以Java开头,任意结尾的字符串
Pattern pattern = Pattern.compile("^Java.*");
Matcher matcher = pattern.matcher("Java不是人");
boolean b= matcher.matches();
//当条件满足时,将返回true,否则返回false
System.out.println(b);
◆以多条件分割字符串时
Pattern pattern = Pattern.compile("[, |]+");
String[] strs = pattern.split("Java Hello World Java,Hello,,World|SUN");
for (int i=0;i<strs.length;i++) {
System.out.println(strs[i]);
}
◆文字替换(首次出现字符)
Pattern pattern = Pattern.compile("正则表达式");
Matcher matcher = pattern.matcher("正则表达式 Hello World,正则表达式 Hello World");
//替换第一个符合正则的数据
System.out.println(matcher.replaceFirst("Java"));
◆文字替换(全部)
Pattern pattern = Pattern.compile("正则表达式");
Matcher matcher = pattern.matcher("正则表达式 Hello World,正则表达式 Hello World");
//替换第一个符合正则的数据
System.out.println(matcher.replaceAll("Java"));
◆文字替换(置换字符)
Pattern pattern = Pattern.compile("正则表达式");
Matcher matcher = pattern.matcher("正则表达式 Hello World,正则表达式 Hello World ");
StringBuffer sbr = new StringBuffer();
while (matcher.find()) {
matcher.appendReplacement(sbr, "Java");
}
matcher.appendTail(sbr);
System.out.println(sbr.toString());
◆验证是否为邮箱地址
String str="ceponline@yahoo.com.cn";
Pattern pattern = Pattern.compile("[\\w\\.\\-]+@([\\w\\-]+\\.)+[\\w\\-]+",Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(str);
System.out.println(matcher.matches());
◆去除html标记
Pattern pattern = Pattern.compile("<.+?>", Pattern.DOTALL);
Matcher matcher = pattern.matcher("<a href=\"index.html\">主页</a>");
String string = matcher.replaceAll("");
System.out.println(string);
◆查找html中对应条件字符串
Pattern pattern = Pattern.compile("href=\"(.+?)\"");
Matcher matcher = pattern.matcher("<a href=\"index.html\">主页</a>");
if(matcher.find())
System.out.println(matcher.group(1));
}
◆替换指定{}中文字
String str = "Java目前的发展史是由{0}年-{1}年";
String[][] object={new String[]{"\\{0\\}","1995"},new String[]{"\\{1\\}","2007"}};
System.out.println(replace(str,object));
public static String replace(final String sourceString,Object[] object) {
String temp=sourceString;
for(int i=0;i<object.length;i++){
String[] result=(String[])object[i];
Pattern pattern = Pattern.compile(result[0]);
Matcher matcher = pattern.matcher(temp);
temp=matcher.replaceAll(result[1]);
}
return temp;
}
参考资料:http://www.cnblogs.com/doll-net/archive/2006/10/31/545398.html
相关推荐
4. **组合字符串**:截取后的子字符串可以通过`StringBuilder`或`StringBuffer`类进行拼接。这些类提供了`append()`方法,允许我们添加多个字符串片段。例如,如果我们有三个子字符串`part1`, `part2`, `part3`,...
- `StringBuilder`或`StringBuffer`类的`append()`方法:更高效的字符串拼接方式,尤其在循环中。 7. **长度与空格检查** - `length()`: 返回字符串的长度。 - `isEmpty()`: 检查字符串是否为空。 - `trim()`: ...
可能存在的工具类包括`StringUtils`,它可能提供了如字符串格式化、分割、拼接、检查是否为空等方法。例如,`isEmpty()`用于检查字符串是否为空,`format()`用于格式化字符串,`join()`用于将数组或集合元素连接成一...
- `StringUtils`:提供对字符串的各种操作,如格式化、拼接、检查空值、分割、替换等。 - `HtmlUtils`:处理HTML字符串,将HTML标签转换为纯文本或者解析HTML内容。 2. **日期时间工具类**: - `DateUtils`:...
StringUtils提供了字符串操作的便捷方法,如空判断、格式化、拼接、分割、替换等,避免了频繁使用Java内置String类的复杂操作。 3. **BitmapUtils**: 图片处理工具类 BitmapUtils用于图片的加载、缩放、裁剪等...
- `StringUtils`:包含字符串拼接、分割、格式化、比较等方法。 - `HtmlUtils`:处理HTML字符串,如解析HTML标签、去除HTML标签等。 6. 网络请求: - `HttpUtils`:可能封装了Http请求,如GET、POST等,可能使用...
- `TStringUtils`:这个模块包含了对字符串的各种操作,如检查空值、格式化、拼接、分割等。例如,`isBlank()`可以用来判断字符串是否为空或仅包含空白字符,而`join()`则可以方便地将数组或集合元素连接成一个字符...
1. **StringUtil**: 字符串处理工具类,包括字符串格式化、拼接、分割、校验等操作。例如,它可能提供检查字符串是否为空,转换首字母大写或小写,以及去除字符串两端的空白字符等方法。 2. **DateUtil**: 时间日期...
3. 实现字符串倒序的方法:可以通过字符串分割成字符数组后反转,再拼接成新的字符串。 4. 抽象类与接口的区别:抽象类可以包含成员变量、构造方法和具体方法,而接口则主要用于定义方法规范,实现接口的类需要实现...
- `StringUtils`:此类提供了一系列方便的字符串处理方法,如格式化、检查空值、拼接等,避免了对`String`对象直接操作导致的性能损耗。 2. **日期时间类**: - `DateUtils`:用于处理日期和时间的转换,如格式化...
在Java中,我们可以使用`String`类的各种方法进行字符串的操作,如拼接、分割、查找等;而在C++中,可以使用`std::string`或`std::wstring`进行字符串处理,同时,`std::stringstream`提供了一种方便的流式字符串...
2. **字符串处理**:字符串处理工具可能包括拼接、替换、分割、去除空白字符等常见操作,同时可能提供正则表达式匹配和替换的功能。 3. **数据类型转换**:例如,将对象转化为JSON字符串,或者从JSON字符串反序列...
查询数据通常涉及对文本内容的分析,这可能需要使用正则表达式、字符串分割或其他文本处理方法。例如,如果你的`.txt`文件包含以逗号分隔的值(CSV格式),你可以使用`split(",")`方法来解析每一行。 一旦找到匹配...
- 字符串处理涵盖拼接、分割、替换、检查空值等。`StringUtils`类是Apache Commons Lang库中的一个典型例子,提供丰富的字符串操作方法。 - 例如:`StringUtil`类可能包含`isEmpty()`用于检查空字符串,`join()`...
例如,可以有`DateUtils`用于格式化和解析日期,`StringUtils`用于字符串的拼接、分割、校验等,`ColorUtils`用于处理颜色相关的运算,如RGB与ARGB之间的转换。 2. **加密解密类**: 加密解密是保护数据安全的重要...
这可能涉及到字符串的分割、拼接等操作,以便适应屏幕宽度。源码可能会使用`StringBuffer`或`StringBuilder`进行高效的字符串构建。 4. **滚动与分页**: 如果文本过长,阅读器可能需要支持滚动。Android的...
1. **字符串处理工具类**:在Android开发中,我们经常会遇到字符串的拼接、格式化、检查等操作。例如,`StringUtils`类可以帮助我们实现字符串的空判断、格式转换、分割、连接等功能,避免了在代码中频繁使用`if-...
4. **字符串处理**:处理用户输入的表达式,可能需要对字符串进行分割、拼接和检查。 5. **栈数据结构**:用于实现逆波兰表达式的计算,理解和使用Java的栈类Stack。 6. **异常处理**:在代码中加入适当的异常处理,...
1. **字符串处理**:例如`StringUtils`,它提供了一些常用的字符串操作,如格式化、检查空值、拼接、分割等。这对于处理用户输入或数据显示时非常有用。 2. **日期时间处理**:`DateUtils`类可以帮助我们进行日期和...
例如,`StringUtils`可以方便地进行字符串的拼接、分割、校验等操作;`NetUtils`则能帮助开发者检查网络连接状态,判断是WiFi还是移动数据。 接着是“APP相关”部分,这可能涉及到应用的启动、权限管理、设置、版本...