本文主要用于记录自己在编写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编程中常用的字符操作的更多相关文章

  1. 【转载】Python编程中常用的12种基础知识总结

    Python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进 ...

  2. Python编程中常用的12种基础知识总结

    原地址:http://blog.jobbole.com/48541/ Python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时 ...

  3. 使用Word API打开Word文档 ASP.NET编程中常用到的27个函数集

    使用Word API(非Openxml)打开Word文档简单示例(必须安装Word) 首先需要引入参照Microsoft.Office.Interop.Word 代码示例如下: public void ...

  4. 【转】python 历险记(四)— python 中常用的 json 操作

    [转]python 历险记(四)— python 中常用的 json 操作 目录 引言 基础知识 什么是 JSON? JSON 的语法 JSON 对象有哪些特点? JSON 数组有哪些特点? 什么是编 ...

  5. LoadRunner中常用的字符串操作函数

    LoadRunner中常用的字符串操作函数有:                strcpy(destination_string, source_string);               strc ...

  6. python 历险记(四)— python 中常用的 json 操作

    目录 引言 基础知识 什么是 JSON? JSON 的语法 JSON 对象有哪些特点? JSON 数组有哪些特点? 什么是编码和解码? 常用的 json 操作有哪些? json 操作需要什么库? 如何 ...

  7. 网页中常用HTML字符实体

    摘要: 一些字符在 HTML 中拥有特殊的含义,比如小于号 () 用于定义 HTML 标签的开始.如果我们希望浏览器正确地显示这些字符,我们必须在 HTML 源码中插入字符实体. 字符实体有三部分:一 ...

  8. 工作中常用的QTP操作Excel函数

    前言 本文只是对工作中常用的EOM相关函数的整理,并不是要写个大而全的操作手册,如果想对EOM有更多的了解可以参考QTP的帮助文档或查看QTP安装目录\CodeSamplesPlus\UsingExc ...

  9. Jave工具——servlet+jsp编程中mysql数据库连接及操作通用工具类

    该工具类是在JavaWeb中连接mysql所用到的通用工具类 该类用于Java+Servlet的编程中,方便数据库的操作,连接,获取其列表值.下面是这个数据库操作类的通用方法,基本上能够用于类里面只含 ...

随机推荐

  1. 【lua】LWT HttpdModule

    要使用httpd模块,需要在脚本开头添加: require "httpd" httpd.pairs(apr_table) 用以遍历apr_table for key, value ...

  2. MySQL按照月进行统计

    MySQL按照月进行统计 今天需要后台提供一个按月统计的API.所以查了一下SQL语句的实现方法. 按月统计SQL select date_format(createtime, '%Y-%m') as ...

  3. Java String StringBuilder StringBuffer

    String是字符串常量 StringBuilder和StringBuffer都是字符串变量 速度方面:StringBuilder > StringBuffer > String 每当用S ...

  4. HDU 5694——BD String——————【递归求解】

    BD String Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total S ...

  5. ES6中的类继承和ES5中的继承模式详解

    1.ES5中的继承模式 我们先看ES5中的继承. 既然要实现继承,首先我们得要有一个父类. Animal.prototype.eat = function(food) { console.log(th ...

  6. html中行级元素的居中显示。

    垂直居中.以label标签为例. <style> #label1{ vertical-align:middle; line-height:40px;<*父元素的height*> ...

  7. 开源解决方案一:快速搭建单机版 LAMP 网站

    LAMP 通常表示 Linux + Apache + MySQL/MariaDB + Perl/PHP/Python,LAMP 的各个组件不是一成不变的,并不局限于它最初的选择.作为一个解决方案套件, ...

  8. 最近使用日期控件时,用到了My97DatePicker控件,单日期控件,记录一下

    以上是使用时的效果,可以自己设定日期有效区间,如下图: 对于起始日期和终止日期的控制如下: <td> <label >起始日期:</label> <input ...

  9. java 断点续传(springMvc),可支持html5 vedio在线播放 posted @ 2017年3月11日 16:15:44

    Controller @RequestMapping(value = "/getVedio") public void getVedio(HttpServletRequest re ...

  10. 关于css伪类,伪元素详解总结

    伪类 伪类就是一种虚构的状态或者说是一个具有特殊属性的元素可以使用CSS进行样式修饰.常见的几种伪类是: :link , :visited , :hover , :active , :first-ch ...