精华内容
下载资源
问答
  • 2019-11-12 15:22:18

    截取方式有两种,一般常用第二种
    第二种截取方式有两种传参方式,记住:两种方式都是截头不截尾

    方法一:通过split()将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时。

    String str = “53285964@qq.com”; String[] strs = str.split("@");
    for(int i=0,i<strs.length;i++){
    System.out.println(strs[i].toString()); }

    运行结果:

    53285964 qq.com

    方法二:通过subString()方法来进行字符串截取

    1、只传一个参数:subString(int beginIndex)
    将字符串从索引号为beginIndex开始截取,一直到字符串末尾。(注意索引值从0开始)

    String sb = “asdfghj”;
    String str = sb.substring(2);
    System.out.println(str);

    运行结果:

    dfghj

    2、传入两个参数:substring(int beginIndex, int endIndex)
    从索引号beginIndex开始到索引号endIndex结束(返回结果包含索引为beginIndex的字符不包含索引我endIndex的字符),如下所示:

    String sb = “53285964@qq.com”; String str = sb.substring(0, 8);
    System.out.println(str);

    运行结果

    53285964

    3、根据某个字符截取字符串
    这里根据”@”截取字符串(也可以是其他子字符串)

    String sb = “53285964@qq.com”; String str = sb.substring(0,
    sb.indexOf("@")); System.out.println(str);

    运行结果:

    53285964

    ————————————————

    更多相关内容
  • jsp截取中文字符串 len为字节长度
  • 下面小编就为大家带来一篇java按字节截取带有汉字字符串的解法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • Java 按照字节来截取字符串的工具,不会出现半个汉字。一个中文两个字节,一个英文字符只占 1 个字节** 1. 通常我们用于前端显示的时候,防止标题过长
  • Java中文字符串截取,不能返回半个汉字

    转载请注明来源-作者@loongshawn:http://blog.csdn.net/loongshawn/article/details/62215914,建议读者阅读原文,确保获得完整的信息

    1.场景说明

    Java中文字符串截取,不能返回半个汉字

    2.参考代码

    public static String getSubString(String str, int length) {
             int count = 0;
             int offset = 0;
             char[] c = str.toCharArray();
             int size = c.length;
             if(size >= length){
                 for (int i = 0; i < c.length; i++) {
                     if (c[i] > 256) {
                         offset = 2;
                         count += 2;
                     } else {
                         offset = 1;
                         count++;
                     }
                     if (count == length) {
                         return str.substring(0, i + 1);
                     }
                     if ((count == length + 1 && offset == 2)) {
                         return str.substring(0, i);
                     }
                 }
             }else{
                 return str;
             }
             return "";
         }

    3.测试效果

    public static void main(String[] args){
    
            System.out.println(getSubString("hhgj含含糊糊哈哈哈哈哈啊啊啊啊哈哈哈", 20));
    }
    

    Console输出:
    这里写图片描述

    4.解析说明

    Java中Character类型占用2字节,其大小范围为0~65535,其中0~127是ASCII码,128~255是扩展ASCII码。中文字符取值大于255。

    因此对于char值大于255的,其字节计数count都需要加2,直到count值与截取字节长度或截取长度加1相等,就说明截取长度已经抵达下标。如果最后一个字符小于255,则直接截取0~i的长度字符;如果是汉字,则只能截取0~i-1长度字符。

    附图为ASCII表

    这里写图片描述

    这里写图片描述

    展开全文
  • 主要为大家详细介绍了Java截取中英文混合字符串的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 今天小编就为大家分享一篇java字符串常用操作方法(查找、截取、分割),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • /***:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的*字符串。但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉*DEF”,6,应该输出为“我ABC”而不是“我ABC+...

    package sys;

    import java.io.UnsupportedEncodingException;

    /**

    * :编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的

    * 字符串。但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC 汉

    * DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”

    *

    * @author JYA

    *

    */

    public class A {

    public String SplitIt2(String splitStr, int subInt) {

    // if (subInt > splitStr.getBytes().length) {

    // return splitStr;

    // }

    StringBuilder sb = new StringBuilder("");

    int k = 0;

    String str = "";

    for (int i = 0; i 

    if (i 

    str = splitStr.substring(i, i + 1);

    k += str.getBytes().length;

    if (k <= subInt) {

    sb.append(str);

    } else {

    break;

    }

    }

    }

    return sb.toString();

    }

    public static void main(String[] args) throws UnsupportedEncodingException {

    A ss = new A();

    System.out.println(ss.SplitIt2("测试阿什11顿拉", 40));

    // System.out.println(Pattern.matches("[^\\x00-\\xff]", "阿"));

    // System.out.println(isChinese(","));

    }

    public static boolean isChinese(String str) {

    char[] k = str.toCharArray();

    for (int i = 0; i 

    // if ('\u4e00' > k[i] || k[i] > '\u9fa5') {

    // return false;

    // }

    if ('\uFE30' > k[i] || k[i] > '\uFFA0') {

    return false;

    }

    }

    return true;

    }

    }

    展开全文
  • [java]代码库import java.io....public class CutString {/*** 判断是否是一个中文汉字** @param c* 字符* @return true表示是中文汉字,false表示是英文字母* @throws UnsupportedEncodingException* ...

    [java]代码库import java.io.UnsupportedEncodingException;

    public class CutString {

    /**

    * 判断是否是一个中文汉字

    *

    * @param c

    * 字符

    * @return true表示是中文汉字,false表示是英文字母

    * @throws UnsupportedEncodingException

    * 使用了JAVA不支持的编码格式

    */

    public static boolean isChineseChar(char c)

    throws UnsupportedEncodingException {

    // 如果字节数大于1,是汉字

    // 以这种方式区别英文字母和中文汉字并不是十分严谨,但在这个题目中,这样判断已经足够了

    return String.valueOf(c).getBytes("GBK").length > 1;

    }

    /**

    * 按字节截取字符串

    *

    * @param orignal

    * 原始字符串

    * @param count

    * 截取位数

    * @return 截取后的字符串

    * @throws UnsupportedEncodingException

    * 使用了JAVA不支持的编码格式

    */

    public static String substring(String orignal, int count)

    throws UnsupportedEncodingException {

    // 原始字符不为null,也不是空字符串

    if (orignal != null && !"".equals(orignal)) {

    // 将原始字符串转换为GBK编码格式

    orignal = new String(orignal.getBytes(), "GBK");

    // 要截取的字节数大于0,且小于原始字符串的字节数

    if (count > 0 && count < orignal.getBytes("GBK").length) {

    StringBuffer buff = new StringBuffer();

    char c;

    for (int i = 0; i < count; i++) {

    // charAt(int index)也是按照字符来分解字符串的

    c = orignal.charAt(i);

    buff.append(c);

    if (CutString.isChineseChar(c)) {

    // 遇到中文汉字,截取字节总数减1

    --count;

    }

    }

    return buff.toString();

    }

    }

    return orignal;

    }

    public static void main(String[] args) {

    // 原始字符串

    String s = "我ZWR爱JAVA";

    System.out.println("原始字符串:" + s);

    try {

    System.out.println("截取前1位:" + CutString.substring(s, 1));

    System.out.println("截取前2位:" + CutString.substring(s, 2));

    System.out.println("截取前4位:" + CutString.substring(s, 4));

    System.out.println("截取前6位:" + CutString.substring(s, 6));

    } catch (UnsupportedEncodingException e) {

    e.printStackTrace();

    }

    }

    }

    694748ed64b9390909c0d88230893790.png

    展开全文
  • SUBSTRING 返回字符、binary、text或 image表达式的一部分。有关可与该函数一起使用的有效 Microsoft® SQL Server™数据类型的更多... 语法 SUBSTRING ( expressionJava截取字符串的函数且保证中文截取正常截取字符...
  • 实现java字符串长度截取功能,java字符串长度截取代码如下:/*** 字符串长度截取* @author Administrator**/public classMain {public static voidmain(String[] args){String str= "java教程网提醒您,全屏观看效果...
  • 关于java字符串截取

    2021-03-05 14:34:57
    截取字符串,以“:{”为分隔符String c=str.split("\\:\\{")[1];//获取:{后面的所有字符串,注意"\\:\\{"2.截取里面手机号String smsisdn=c.split("\\|")[2];//注意,split将会把字符串中所有含有分隔符的,分拆后...
  • 截取中文字符串java方法。

    千次阅读 2021-03-10 02:49:23
    首先我谈谈我对上面9个例e69da5e6ba9062616964757a686964616f31333262373265子的理解,即这个方法应该实现的功能:这个方法与JDKString原有的方法substring是有区别的,在这个方法里,一个中文汉字相当于占2个英文...
  • 下面小编就为大家带来一篇java判断中文字符串长度的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取字符串。但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",6,应该输出为"我ABC"而不是"我ABC+汉的半个"。import...
  • java 字符串截取的三种方法(推荐)|chu

    千次阅读 2021-03-15 02:23:32
    众所周知,java提供了很多字符串截取的方式。下面就来看看大致有几种。1.split()+正则表达式来进行截取。将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则...
  • 数据库中字段为:commentvarchar(1300)...我要对于String,截取到varchar(1300)范围的数据。这个1300有多大范围?怎么来弄??您好,没记错的话,mysql以4.1版本为界限,之前的varchar以字节计算大小,之后的varchar...
  • 这个函数也没有什么特别之处,就是可以截取一定长度的字符串,可能小特点就是len是字节,解决了汉字与英这个函数也没有...#region 字符串截取函数public static string CutString(string inputString,int len){ASC...
  • java中文字符串截取

    2014-06-07 12:16:00
    * function 中文字符串相关操作<br/> **/ public class ChinaStringUtil { /** * 判断字符是不是中文字符 * @param c * @return */ public static boolean isChinese(char c) { ...
  • public String String_length(String value, int maxSize) { if(StringUtils.isNotBlank(value)){ int valueLength = 0;... } 主要用于按需要长度截取字符串 eg: String_length(obj.getRemark(), 80)
  • java在一串字符串中从指定位置开始读取,到指定字符读取 //调用String类的以下三个函数就行了: //1、public int indexOf(int ch) //返回指定字符在此字符串中第一次出现处的索引 //2、public int indexOf(int ...
  • JAVA如何按字节截取字符串这篇文章主要介绍了JAVA如何按字节截取字符串,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下public class SubStringTest {@Test...
  • java截取字符串后几位字符的方法

    万次阅读 2021-02-12 11:10:41
    java截取字符串后几位字符的方法:java截取字符串中最后几个字符可以使用String类的substring方法,具体用法参考下方说明:1、substring(int beginIndex)substring(int beginIndex)Returns a new string that is a...
  • USER_NAME to UserName,USER_NAME to userName,转义正则特殊字符 ,获取字符串长度汉字占两个字符,验证号码是否合法 (是否是手机号或者电话号码),将经纬度转换成字符串,将字符转换成二进制,将二进制字符串...
  • 相信大家都自己封装过或者用过guava封装的Strings,但是有没有可以智能截取,比如说“截取整数第二个到倒数第二个”的字符串。你是否还需要自己写str.substring(1,str.length()-2)。如果是的话,请继续往下看吧。...
  • java截取字符串后几位

    千次阅读 2021-03-15 01:32:37
    java中常用的字符串截取方法_计算机软件及应用_IT/计算机_专业资料。jsp中常见使用技术,js,jstl,eclipse,java 1、length() 字符串的长度 例:char chars[]={'......java截取字符串_IT/计算机_专业资料。java截取...
  • 1.java类文件 放到 src的包中2.tld文件 放到web.xml同级位置,根据类所在包 进行 改写tld文件...日期格式化:字符串截取:DateTag.javaimport java.io.IOException;import java.text.SimpleDateFormat;import java.u...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,341
精华内容 8,536
关键字:

java中文字符串截取

java 订阅