MapReduce编程中常用的字符操作
本文主要用于记录自己在编写mapreduce程序时常用的一些方法,后期会不断更新,用于自己复习和给新手一些帮助。
字符串操作
String str = " 12345";
// 字符串中是否包含某子字符串
System.out.println(str.contains("123"));
// 返回索引位置
System.out.println(str.indexOf("1"));
// 截取字符串,从索引0开始到索引3(包括前不包括后) 只有一个参数时表示从该索引一直截取到最后
String str2 = str.substring(0, 3);
System.out.println(str2);
// 截取第一个逗号以前的字符串
String str1 = "1,2,3,4,5";
String substring = str1.substring(0, str1.indexOf(","));
System.out.println(substring);
// 字符串替换
System.out.println(str.replace("123", "321"));
// trim()去除字符串两边的空格 ltrim()去除左边的空格 rtrim()去除右边的空格
System.out.println(str.trim());
// ==比较的是2个字符串是否指向同一地址,equals()比较的是实际字符串,比如大小写,长度等
字符串数组操作
// 将字符串数组转化成字符串 import org.apache.commons.lang.StringUtils;
String[] array = {"abc", "123", "45"};
System.out.println(StringUtils.join(array,','));
//字符串按,或;分割成数组
String str = "abc,def;gh,ij;k;lm,no,p;qr,st";
String[] temp = str.split("[,;]");
// Arrays.toString()方法,数组输出为字符串 格式[abc, def, gh, ij, k, lm, no, p, qr, st]
System.out.println(Arrays.toString(temp));
// 字符串数组的截取
String[] a = {"a","b","c","d","e","f","g","h","i"};
//包括前不包括后
String[] b = Arrays.copyOfRange(a, 0, 5);
System.out.println(StringUtils.join(b,","));
StringBuilder操作
// String 是不可变的对象,经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响
// StringBuilder线程不安全的(用在字符串缓冲区被单个线程使用的时候) 优先考虑使用,速度快
// StringBuffer线程安全的(用于多线程)
// StringBuilder sb = new StringBuilder();
// 在最后追加
// sb.append(1);
// sb.append(2);
// 在索引位置前插入
// sb.insert(1, "a");
// 删除指定索引位置的字符 删除最后一个字符
// sb.deleteCharAt(sb.length()-1);
// 删除指定索引的字符串,包括前不包括后
// sb.delete(0, 1);
// System.out.println(sb.toString());
输出文件中文乱码问题
mapreduce处理的文字格式都是utf-8,如果输入的正文编码格式是gbk,可以自定义方法,将其转为utf-8
// 处理gbk格式的输入文件 Text text1 = transformTextToUTF8(value, "gbk");
public static Text transformTextToUTF8(Text text, String encoding) {
String value = null;
try {
value = new String(text.getBytes(), 0, text.getLength(), encoding);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return new Text(value);
}
MapReduce编程中常用的字符操作的更多相关文章
- 【转载】Python编程中常用的12种基础知识总结
Python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进 ...
- Python编程中常用的12种基础知识总结
原地址:http://blog.jobbole.com/48541/ Python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时 ...
- 使用Word API打开Word文档 ASP.NET编程中常用到的27个函数集
使用Word API(非Openxml)打开Word文档简单示例(必须安装Word) 首先需要引入参照Microsoft.Office.Interop.Word 代码示例如下: public void ...
- 【转】python 历险记(四)— python 中常用的 json 操作
[转]python 历险记(四)— python 中常用的 json 操作 目录 引言 基础知识 什么是 JSON? JSON 的语法 JSON 对象有哪些特点? JSON 数组有哪些特点? 什么是编 ...
- LoadRunner中常用的字符串操作函数
LoadRunner中常用的字符串操作函数有: strcpy(destination_string, source_string); strc ...
- python 历险记(四)— python 中常用的 json 操作
目录 引言 基础知识 什么是 JSON? JSON 的语法 JSON 对象有哪些特点? JSON 数组有哪些特点? 什么是编码和解码? 常用的 json 操作有哪些? json 操作需要什么库? 如何 ...
- 网页中常用HTML字符实体
摘要: 一些字符在 HTML 中拥有特殊的含义,比如小于号 () 用于定义 HTML 标签的开始.如果我们希望浏览器正确地显示这些字符,我们必须在 HTML 源码中插入字符实体. 字符实体有三部分:一 ...
- 工作中常用的QTP操作Excel函数
前言 本文只是对工作中常用的EOM相关函数的整理,并不是要写个大而全的操作手册,如果想对EOM有更多的了解可以参考QTP的帮助文档或查看QTP安装目录\CodeSamplesPlus\UsingExc ...
- Jave工具——servlet+jsp编程中mysql数据库连接及操作通用工具类
该工具类是在JavaWeb中连接mysql所用到的通用工具类 该类用于Java+Servlet的编程中,方便数据库的操作,连接,获取其列表值.下面是这个数据库操作类的通用方法,基本上能够用于类里面只含 ...
随机推荐
- java.lang.RuntimeException: HRegionServer Aborted的问题
进程情况 [hadoop@hadoop1 hbase]$ jps QuorumPeerMain ResourceManager HMaster NameNode JournalNode HRegion ...
- Struts中Validate()和validateXxx的使用
Struts中Validate()和validateXxx的使用 学习struts2之后,你会发现validate在之前是没有的!它是怎么实现的呢? validate和validateXxxx都是拦截 ...
- UEditor编辑器 字符数统计和字符数限制 问题
1.百度UEditor修改右下角统计字数默认只统计前台所见的文字个数,为了便于展示实际保存的时候是保存的包含html标签的,所以右下角的统计字数功能需要修改 getContentLength: fun ...
- Visual Studio2017中如何让ADO.NET实体数据模型[EntityFramework]支持MariaDB&MySQL数据源
近期由于工作需要,需要重新修改设计系统的ADO.NET实体数据模型.edmx文件中间,在完成实际中途遇到一些实际使用问题,特此记录. 1. Visual Studio 2017 无法以实体设计模式打开 ...
- CentOS 7 的下载源为aliyun
更换 CentOS 7 的下载源为阿里云 1.备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo ...
- 判断网站域名是否被GFW(墙)过滤屏蔽了
GFW:Greate Firewall Of China中国防火长城: 描述: 1.今天所属的一个域名被告诉不能访问了,赶紧自己测试了一下,发现可以,然后对方试了下说是不行,然后仔细按对方说的一步步操 ...
- show_space
create or replace procedure show_space( p_segname_1 in varchar2,p_space in varchar2 default 'AUTO',p ...
- Node.js学习笔记(六) --- Nodejs 的非阻塞 I/O、 异步、 事件驱动
1. Nodejs 的单线程 非阻塞 I/O 事件驱动在 Java. PHP 或者.net 等服务器端语言中,会为每一个客户端连接创建一个新的线程.而每个线程需要耗费大约 2MB 内存.也就是说,理论 ...
- js常用代码-笔记
1.字符串截取substr(str,length)返回从指定位置开始,截取length长度的子字符串.substring(start,end)返回从start开始到end结束的字符串.end不写就到结 ...
- js的函数作用域跟块级作用域
js的函数作用域跟块级作用域(原文地址:http://blog.csdn.net/huangjq36sysu/article/details/51085674)