本文主要用于记录自己在编写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. C# [method Modifiers] abstract virtual override new

    abstract :表示方法是抽象方法,在子类中必须重写.抽象方法所在的类必须是抽象类,即用abstract modifiers:virtual:表示此方法是virtual方法,除了在子类中可以重写外 ...

  2. jQuery中遇到的坑

    在jQuery 1.6之前,只有attr()函数可用,该函数不仅承担了attribute的设置和获取工作,还同时承担了property的设置和获取工作.例如:在jQuery 1.6之前,attr()也 ...

  3. HTTP Error 502.5 - Process Failure asp.net core error in IIS

    在windows server 2012 上安装完dotnet-win-x64.1.1.1.exe 和 DotNetCore.1.0.4_1.1.1-WindowsHosting.exe后,没有重启服 ...

  4. 《Maven实战》关联实际工作的核心知识

    通读了<Maven实战>这本书,由于在实际的工作中,对其有一定的操作上的经验.因此,再回头去通读这本书,就能够更加精准的把握里面的核心知识了. 以下我主要从两点去介绍之—— 1> m ...

  5. 使用Electron开发桌面应用

    Electron 框架的前身是 Atom Shell,可以让你写使用 JavaScript,HTML 和 CSS 构建跨平台的桌面应用程序.它是基于io.js 和 Chromium 开源项目,并用于在 ...

  6. django常用封装

    #encoding:utf-8from django.shortcuts import render_to_responseimport hashlibfrom binascii import b2a ...

  7. Ruby 踩坑 “Failed to build gem native extension”

    ruby新手,总是会出现这样那样的问题,这里先记录下,希望能解决你得问题. 首先是安装ruby 环境,楼主愚钝,在公司和自己的电脑上来来回回整了好几天,每次安装 gem 包的时候总是报错,错误信息大致 ...

  8. 紫书第5章 C++STL

    例题 例题5-1 大理石在哪儿(Where is the Marble?,Uva 10474) 主要是熟悉一下sort和lower_bound的用法 关于lower_bound: http://blo ...

  9. 远程连接Redis服务器

    建立了一个redis服务器,那么其他主机应该怎么连接上呢? /** * * 修改redis.conf配置文件 * */ // 1. 注释掉bind绑定配置 // 2. 搜索并修改为 protected ...

  10. 洛谷P3952 时间复杂度(模拟)

    题意 题目链接 Sol 咕了一年的题解..就是个模拟吧 考场上写的递归也是醉了... 感觉一年自己进步了不少啊..面向数据编程的能力提高了不少 #include<bits/stdc++.h> ...