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的编程中,方便数据库的操作,连接,获取其列表值.下面是这个数据库操作类的通用方法,基本上能够用于类里面只含 ...
随机推荐
- WPF与Winform中的不同(1)
1. 部分控件的Text属性,变成了 Content属性 如: winform中,Button.Text = "abc"; wpf中,Button.Content = " ...
- 入门系列之在Ubuntu上使用Netdata设置实时性能监控
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由小翼 发表于云+社区专栏 介绍 Netdata通过可扩展的Web仪表板提供准确的性能监控,可以显示Linux系统上的流程和服务.它监控 ...
- 入门Promise的正确姿势
Promise是异步编程的一种解决方案,从语法上说,Promise是一个对象,从它可以获取异步操作的消息. Promise的基本用法 Promise构造函数接受一个函数作为参数,该函数的两个参数分别是 ...
- MySQL之存储引擎(表类型)的选择
和大部分的数据库不同,MySQL中有一个存储引擎的概念,用户可以根据数据存储的需求来选择不同的存储引擎.本次博客就来介绍一下MySQL中的存储引擎.MySQL版本 5.7.19. 概述 MySQL的存 ...
- jQuery中遇到的坑
在jQuery 1.6之前,只有attr()函数可用,该函数不仅承担了attribute的设置和获取工作,还同时承担了property的设置和获取工作.例如:在jQuery 1.6之前,attr()也 ...
- CSS 文字超长省略显示并隐藏超长部分
1.包含文字的元素必须是块级元素,不是块级元素使用display:block使其具有块级元素属性: 2.具备上述基本条件后,css样式如下: { display: block; max-width: ...
- 安装mysql Install/Remove of the Service Denied!错误的解决办法
在window 的cmd下安装mysql 在mysql的bin目录下面执行: mysqld --install 报错: 信息如下: Install/Remove of the Service Deni ...
- Java并发编程:深入剖析ThreadLocal (总结)
ThreadLocal好处 Java并发编程的艺术解释好处是:get和set方法的调用可以不用在同一个方法或者同一个类中. 问答形式总结: 1. ThreadLocal类的作用 ThreadLocal ...
- struts2 国际化语言转换
学习struts2,了解了使用struts2的配置文件可以走向国际化,实现页面的语言转换.我已中文和英文为例,简单的实现登录页面的国际化 废话不多说,上代码 一,login.jsp页面 使用s标签&l ...
- JavaEE之Http协议和Tomcat服务器
Http协议 什么是Http协议 HTTP,超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的 一种网络协议.所有的WWW文件都必须遵守这 ...