Java字符串按照字节数进行截取

article/2025/8/27 4:51:26

本文为joshua317原创文章,转载请注明:转载自joshua317博客 Java字符串按照字节数进行截取 - joshua317的博客

一、问题

编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如"hi你好啊,joshua317" 4,应该截为"hi你",输入"hi你好啊,joshua317" 8,应该输出“hi,你好”,而不是“hi,你好+啊的半个”。

二、分析

容易产生困惑的是中文字符和英文字符,在这里需要考虑汉字和英文字符的占用字节数问题,中文字符占两个字节,英文字符占一个字节,理解了这个,就很容易实现了。

三、编程

package com.joshua317;import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;public class Main {public static void main(String[] args) {System.out.println("请输入字符串:");Scanner scanner = new Scanner(System.in);String str = scanner.next();System.out.println("请输入字节数:");int n = scanner.nextInt();interception(string2Array(str), n);}/*** 将字符串转成字符串数组* @param string* @return*/public static String[] string2Array(String string){String[] temp = new String[string.length()];for (int i = 0; i < temp.length; i++) {temp[i] = string.substring(i,i+1);}return temp;}/*** 字符串按字节数截取* @param str* @param n*/public static void interception(String[] str, int n){int count = 0;String m = "[\u4e00-\u9fa5]";System.out.println("以每" + n +"个字节划分的字符串如下所示:");for (int i=0; i < str.length; i++) {if (str[i].matches(m)) {//如果当前字符是汉子,计数器加2count += 2;} else {//如果当前字符不是是汉子,计数器加1count += 1;}//如果当前计数器的值小于n,则直接输出当前字符if (count < n) {System.out.print(str[i]);} else if (count == n) {System.out.print(str[i]);count = 0;//满足n个字节后,就换行System.out.println();} else {//如果当前计数器count的值大于n,说明有汉子,换行输出,且此时计数器count=2System.out.println();System.out.print(str[i]);count = 2;}}}
}

Java

Copy

本文为joshua317原创文章,转载请注明:转载自joshua317博客 Java字符串按照字节数进行截取 - joshua317的博客


http://chatgpt.dhexx.cn/article/LhfyVmjm.shtml

相关文章

JAVA中截取字符串中指定字符串

JAVA中截取指定字符串 举个例子&#xff0c;需要截取“abcdef”中的“cde”。 场景1&#xff1a;获取该字符串的下标。输出“cde”。 public static void main(String[] args) {// TODO Auto-generated method stubString data "abcdef";String out data.substri…

Java字符串截取 方法

在 String 中提供了两个截取字符串的方法&#xff0c;一个是从指定位置截取到字符串结尾&#xff0c;另一个是截取指定范围的内容。 方法的重载&#xff1a; public String substring(int beginIndex) {}public String substring(int beginIndex, int endIndex) {}例子演示&am…

java截取某个字符之前的字符串

1.截取"-"之前字符串 代码如下&#xff08;示例&#xff09;&#xff1a; //java截取某个字符之前的字符串 public static void substringTest01(){String str "1627579713907351556-202302200018";//截取-之前字符串String str1 str.substring(0, str.…

java中字符串截取,调用substring()方法

substring() 方法返回字符串的子字符串。在java中 substring()方法有两种用法&#xff0c; 第一种 public String substring(int beginIndex) 第二种 public String substring(int beginIndex, int endIndex) 参数的意思 beginIndex -- 起始索引&#xff08;包括&#xff09…

java截取指定字符串中的某段字符

利用字符串的substring函数来进行截取。 其中&#xff0c;substring函数有两个参数&#xff1a; 1、第一个参数是开始截取的字符位置。&#xff08;从0开始&#xff09; 2、第二个参数是结束字符的位置1。&#xff08;从0开始&#xff09; indexof函数的作用是查找该字符串中…

Java截取某个特殊字符前后的字符串

思路&#xff1a;想要根据某个特殊字符进行截取字符串&#xff0c;最终是要用到substring()函数&#xff0c;那么关键&#xff0c;是要找到特殊字符所在的位置&#xff0c;也就是要用到函数indexOf()和laseIndexOf()两个函数。 举例&#xff1a; String str "abc_def_gh…

java字符串截取后几位

字符串中截取后几位&#xff0c;或从后面数第几位到第几位&#xff01; public class demo4 {public static void main(String[] args) {String str "(P)UA000110222(S)4123222200005";//截取后四位String substring str.substring(str.length() - 4);System.out.…

Java字符串截取,截取某个字符之前或者之后的字符串

提示&#xff1a;java截取某个字符之前或者之后的字符串 文章目录 一、java截取某个字符之前或者之后的字符串:1. 截取"_"之前字符串2. 截取"_"之后字符串 二、截取正数第二个"_"后面的内容 一、java截取某个字符之前或者之后的字符串: 1. 截取…

java实现爬虫_手把手教你从零开始用Java写爬虫

本文将手把手地教大家从零开始用Java写一个简单地爬虫&#xff01; 目标 爬取全景网图片&#xff0c;并下载到本地 收获 通过本文&#xff0c;你将复习到&#xff1a; IDEA创建工程IDEA导入jar包爬虫的基本原理Jsoup的基本使用File的基本使用FileOutputStream的基本使用ArrayLi…

java爬虫 webcollector_Java爬虫-WebCollector | 学步园

爬虫简介&#xff1a; WebCollector是一个无须配置、便于二次开发的JAVA爬虫框架(内核)&#xff0c;它提供精简的的API&#xff0c;只需少量代码即可实现一个功能强大的爬虫。 爬虫内核&#xff1a; WebCollector致力于维护一个稳定、可扩的爬虫内核&#xff0c;便于开发者进行…

Java爬虫高级教程-动力节点

作为网络爬虫的入门采用Java开发语言&#xff0c;内容涵盖了网络爬虫的原理以及开发逻辑&#xff0c;Java网络爬虫基础知识&#xff0c;网络抓包介绍&#xff0c;jsoup的介绍与使用&#xff0c;HttpClient的介绍与使用等内容。本课程在介绍网络爬虫基本原理的同时&#xff0c;注…

java 爬虫处理数据_Java语言实现爬虫实战

引言 网络上有许多信息&#xff0c;我们如何自动的获取这些信息呢&#xff1f;没错&#xff0c;网页爬虫~! 在这篇博文中&#xff0c;我将会使用java语言一步一步的编写一个原型的网页爬虫&#xff0c;其实网页爬虫并没有它听起来那么难。 紧跟我的教程&#xff0c;我相信你会在…

2021年Java爬虫技术教程(一小时实现)

Java爬虫开发 操作要点 正则表达式 Java网络通信&#xff1a;URL IO流 Map—HashMap 字符串操作 异常处理 项目已上传本人码云&#xff08;gitee&#xff09;传送门 如果这篇博客对你有一点点小帮助&#xff0c;希望您能给我来波一键三连&#xff1b; 前言 python优点&am…

java 爬虫大型教程(一)

java 爬虫大型教程&#xff08;一&#xff09; 写在开始前&#xff0c;既然是大型教程&#xff0c;那就从最初始的环境变量开始搭建说起。 电脑环境:我的电脑是macbook pro&#xff0c;因此系统环境变量配置是和Windows不一样的&#xff0c;如果你的电脑是Windows系统&#x…

java 爬虫 sessionid_java爬虫实战之模拟登陆

使用jsoup工具可以解析某个URL地址、HTML文本内容&#xff0c;是java爬虫很好的优势&#xff0c;也是我们在网络爬虫不可缺少的工具。本文小编带领大家使用jsoup 实现java爬虫模拟登陆&#xff0c;通过省力的API&#xff0c;很好的实现java爬虫模拟登陆。 一、使用工具&#xf…

java爬虫框架视频_Java爬虫博客采集系统视频教程

资源介绍 教程名称&#xff1a;Java爬虫博客采集系统视频教程xa0 教程目录&#xff1a; 【java爬虫博客采集系统】视频教程第00讲[20分钟] - 系统演示xa0 【java爬虫博客采集系统】视频教程第01讲[08分钟] - 博客爬虫模块Axa0 【java爬虫博客采集系统】视频教程第02讲[21分钟] …

Java版爬虫,爬网页,爬小说,完整教程,一看就会

昨天小编看到了一部不错的小说&#xff0c;但是没有办法下载&#xff0c;只能一页一页地看&#xff0c;于是想到了爬虫&#xff0c;现在Java也有了爬虫的框架&#xff0c;很简单&#xff0c;就算小白也能轻易入门&#xff0c;话不多说&#xff0c;直接上手。 1.首先引入相关依…

java-jsoup爬虫

1. 介绍 Jsoup是Java中的一个包&#xff0c;可以用于爬取页面中的数据 Jsoup爬取数据分为以下几个步骤&#xff1a; 1. 获取所爬取网页的Document对象 2. 找到所爬取数据所在的父级标签&#xff0c;将其从Document对象中解析出来&#xff0c;解析出来的内容放置在Element对象…

java爬虫 教程_Java爬虫其实也很简单,教你实用的入门级爬虫

原标题&#xff1a;Java爬虫其实也很简单&#xff0c;教你实用的入门级爬虫 任何语言都是可以爬虫的&#xff0c;只要你懂的常用的http协议啥的就可以模仿浏览器的行为获取你想要的数据。这里我将教大家一个简单实用的案例&#xff1a;如何获取全民K歌的下载链接。 ps: 这主要是…

java爬虫视频教程_JAVA开发教程:java视频教程java爬虫实战项目 百度网盘

– 源码 – 0 B |- 猫了个咪-更多IT精品课程.html – 41.00 kB |- 猫了个咪–it视频论坛.url – 51 B |- 22_项目优化三&#xff1a;邮件提醒.mp4 – 345.30 MB |- 21_项目优化二&#xff1a;爬虫项目监控[itjc8.com].mp4 – 353.40 MB |- 20-4_项目优化一&#xff1a;解决频繁…