最近遇到一个解析 shell 命令返回的表格形式的返回的需求。
由于返回即有中文也有英文,而且返回的项也可能包含空格,故需要计算每列占据的长度,从而截取解析。
但是中文和英文占据的长度不一致,故用到此方法去做处理。

 /*** 输入字符串,计算占据英文长度*/public static int getEnLength(String value) {int valueLength = 0;String chinese = "[\u0391-\uFFE5]";/* 获取字段值的长度,如果含中文字符,则每个中文字符长度为2,否则为1 */for (int i = 0; i < value.length(); i++) {/* 获取一个字符 */String temp = value.substring(i, i + 1);/* 判断是否为中文字符 */if (temp.matches(chinese)) {/* 中文字符长度为2 */valueLength += 2;} else {/* 其他字符长度为1 */valueLength += 1;}}return valueLength;}/*** 输入英文位数 ,计算实际长度** @param index* @param row* @return*/public static Integer getActualLength(Integer index, String row) {if (index == 0 || index == -1) {return index;}String chinese = "[\u0391-\uFFE5]";Integer tempIndex = 0;/* 获取字段值的长度,如果含中文字符,则每个中文字符长度为2,否则为1 */for (int i = 0; i < row.length(); i++) {if (tempIndex.equals(index)) {return i;}String str = String.valueOf(row.charAt(i));/* 判断是否为中文字符 */if (str.matches(chinese)) {/* 中文字符长度为2 */tempIndex += 2;} else {/* 其他字符长度为1 */tempIndex += 1;}}return null;}

输入字符串,计算占据英文长度相关推荐

  1. 字符串分隔 -连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组; •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。...

    •连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组: •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理. 输入描述: 连续输入字符串(输入2次,每个字符串长度小于100) 输 ...

  2. •连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组; •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。

    •连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组: •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理. 1. 首先从第二条规定,可以看出,需要用到字符串的添加,我们考虑用S ...

  3. 写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。

    写一函数,求一个字符串的长度.在main函数中输入字符串,并输出其长度. 解题思路: 字符串以\0作为结尾,则从第一个字符开始向后移动遇到\0认为字符串结束. 答案: #include <std ...

  4. 输入字符串,统计英文字符、大写小写字母,数字字符,空格和其他字符

    程序目录 for循环使用循环变量调用字符数组 for循环使用指针调用字符数组 <程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p74 4.1.2 上级实 ...

  5. 键盘输入字符串 数字转换为 * 英文字母大写转小写 小写转大写

    public static void main(String[] args) {Scanner s = new Scanner(System.in);System.out.println(" ...

  6. python获取输入框内容长度_python3 tkinter 获取输入字符串长度

    python 3  获取输入字符长度 #-*- coding:utf-8 -*- from tkinter import * from tkinter import messagebox def ge ...

  7. 题8.6:写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。

    题目 本题是谭浩强<C程序设计课后习题>题8.6. 题目: 写一函数,求一个字符串的长度.在main函数中输入字符串,并输出其长度. 以下是本篇文章正文内容,欢迎朋友们进行指正,一起探讨, ...

  8. c语言计算字符串最后一个单词长度,2020-05-28华为机考题--字符串最后一个单词的长度(C语言实现)...

    题目描述 计算字符串最后一个单词的长度,单词以空格隔开. 输入描述: 一行字符串,非空,长度小于5000. 输出描述: 整数N,最后一个单词的长度. 示例1 hello world 输出 5 算法思路 ...

  9. c语言:输入字符串,并判断字符串的长度

    c语言中表示输入数据的类型,其格式符和意义下表所示. 格式 字符意义 d 输入十进制整数 o 输入八进制整数 x 输入十六进制整数 u 输入无符号十进制整数 f或e 输入实型数(用小数形式或指数形式) ...

最新文章

  1. php谈谈你对分布式的理解,简谈关于对分布式处理的理解
  2. Cygwin,Nutch安装配置,检验是否正确(对网友守望者博客的修改---在此感谢守望者)2
  3. HDU 3549 Flow Problem (网络流板子)
  4. 安装并配置ROS环境
  5. html中显示数据库中的一条数据,如何使用html表显示数据库中的数据
  6. 一文汇总 JDK 5 到 JDK 15 中的牛逼功能!
  7. *循环单链表[带头结点]
  8. Power BI Desktop 10月更新
  9. echart单击后获取横坐标值_新、老、离职员工名单只要刷新一下就能轻松获取|Excel125...
  10. 遗传算法TSP问题举例
  11. 实时查看Starlink在轨卫星、地面站数目和分布情况的有趣网站
  12. 项目管理 - 变更控制流程
  13. java代码分析及分析工具
  14. mysql统计出每个姓氏的人数_Python 之 MySql 每日一练 130——同名同性学生名单,并统计人数...
  15. matlab实现三分之一倍频程,三分之一倍频程程序
  16. 2021.03.17 pokémon小游戏开发记录与周总结
  17. vc运行库或.net framework装不上的通用解决方法
  18. 软件测试笔记(十六)- 缺陷轰炸和beta测试
  19. 位/比特(bit)、字节(Byte)的理解
  20. python语言是一个优秀的面向对象语言_Python是纯的面向对象语言吗?

热门文章

  1. ZCU106开发之SD卡/QSPI启动
  2. 微型计算机的中断系统
  3. 【张尧学与一等奖】乐见政府退出科学分歧 欣闻校长不避同行争议
  4. 水果软件中的粘合与琶音命令使用方法
  5. python点云可视化_3D可视化神器之Open3D
  6. 如何隐藏Android模拟器下方的虚拟按键(隐藏模拟器属性即可)
  7. 91. 基于Notes/Domino的文档工作流系统(三)
  8. linux减小根目录空间_Linux下调整根目录的空间大小,空间分配情况
  9. 互联网江湖录2——南少林盛大
  10. Wireshark Lab: DNS v7.0