java中字符串处理问题

问题描述

java中字符串处理问题

在一个txt文件中,有几行字符串,每行的格式如下,
abc1110011110102
abc123001111010a
根据条件做字符串的转换,条件:
1.字符串以abc开头
2.字符串中包含字串001111
3.在字串001111之后的第二个非0字符串如果是数字的话改变成0,如果不是数字不改变
因此,上面给出的两个字符串结果为
abc1110011110100
abc123001111010a

解决方案

 public static void main(String[] args) {
        String s = "abc1110011110102";
        String s1 = "abc123001111010a";

        Pattern p = Pattern.compile("(abcd+001111.*?[^0]{1}.*?)([^0]{1})(.*?)");
        Matcher m = p.matcher(s1);
        if (m.find() && m.group(2).matches("d")) {
            System.out.println(m.group(1) + "0" + m.group(3));
        }

    }

解决方案二:

字符串处理问题

时间: 2024-11-03 14:16:50

java中字符串处理问题的相关文章

[细说Java](2)Java中字符串为什么是不可变的

在Java中字符串(String)是一个不可改变的类.一个不可改变的类只是一个对象实例不可修改的简单类.当创建一个对象实例时,对象实例的所有信息都被初始化,并且信息不能被修改.对于不可改变的类来说还有很多优势.上一篇文章很好说明了为什么字符串被设计成不可改变的.只有你很好的掌握了内存,同步,数据结构等知识后,你才能很好的回答这个问题. 1. 字符串常量池的需求 字符串常量区是方法区(Method Area)中一块特殊的存储区域.当一个字符串被创建,如果该字符串已经存在字符串常量区时,相应的返回存

java中字符串转换问题

问题描述 java中字符串转换问题 比如我要将获得的值"pixiedust.ogg"转换成 "Pixie Dust"要怎么转换? 解决方案 String s = new String("abcd pixiedust.ogg 1234"); s = s.replace("pixiedust.ogg","Pixie Dust"); 解决方案二: String str="pixiedust.ogg&qu

java中字符串转换为字节数组请问用什么方法,字符串返回字节数组怎么做?

问题描述 java中字符串转换为字节数组请问用什么方法,字符串返回字节数组怎么做? java中字符串转换为字节数组请问用什么方法,字符串返回字节数组怎么做? 解决方案 http://blog.csdn.net/shuaihj/article/details/7478773http://blog.csdn.net/abin_gha/article/details/6317850 解决方案二: java中String类有getBytes方法,可以将字符串转成字节数组.字节数组可以直接写入到输出流中,

大神帮帮忙-关于java中字符串的拼接问题

问题描述 关于java中字符串的拼接问题 这个程序输出的结果为什么是25255?去掉双引号后结果为55,大神们能不能解释下原因? 解决方案 带上引号,后面是字符串连接 相当于 (x + y),toString() + "" + (x+y).toString() + y.toString() 所以是"25" + "" + "25" + "5" 也就是25255 不带引号,是算术运算,最后转换为整数. 解决方案

java中 字符串转型问题

问题描述 java中 字符串转型问题 下面两种转型的本质区别是什么? String str ; str = obj.toString() ; // 第一种 str = (String) obj ; // 第二种 越详细越好, 非常感谢 !! 解决方案 第一种方式是java的规范,从Object继承的toString方法,至于继承那一套,就不用多说了: 第二中方式是强转,obj instanceof Clazz 为true可以强转,为false时强转的话报ClassCastException 解决

基于Java中字符串内存位置详解_java

前言 之前写过一篇关于JVM内存区域划分的文章,但是昨天接到蚂蚁金服的面试,问到JVM相关的内容,解释一下JVM的内存区域划分,这部分答得还不错,但是后来又问了Java里面String存放的位置,之前只记得String是一个不变的量,应该是要存放在常量池里面的,但是后来问到new一个String出来应该是放到哪里的,这个应该是放到堆里面的,后来又问到String的引用是放在什么地方的,当时傻逼的说也是放在堆里面的,现在总结一下:基本类型的变量数据和对象的引用都是放在栈里面的,对象本身放在堆里面,

Java中字符串的一些常见方法分享_java

1.Java中字符串的一些常见方法 复制代码 代码如下: /** *  */package com.you.model; /** * @author Administrator * @date 2014-02-24 */public class Replace {  /**  * @param args  */ public static void main(String[] args)  {  /**   * 原字符串   */  String str = "78454545855ksdjnf

Java中字符串 I

什么是 Java 中的字符串 在程序开发中字符串无处不在,如用户登陆时输入的用户名.密码等使用的就是字符串.其实,在前面的章节中我们就已经使用了字符串,例如我们在控制台中输出的 "Hello World" . "imooc" ."爱慕课"等. 在 Java 中,字符串被作为 String 类型的对象处理. String 类位于 java.lang 包中.默认情况下,该包被自动导入所有的程序. 创建 String 对象的方法: . Java 中字符

Java中字符串拼接的一些细节分析_java

工作日忙于项目的逻辑实现,周六有点时间,从书柜里拿出厚厚的英文版Thinking In Java,读到了字符串对象的拼接.参考着这本书做个翻译,加上自己思考的东西,写上这篇文章记录一下. 不可变的String对象 在Java中,String对象是不可变的(Immutable).在代码中,可以创建多个某一个String对象的别名.但是这些别名都是的引用是相同的. 比如s1和s2都是"droidyue.com"对象的别名,别名保存着到真实对象的引用.所以s1 = s2 复制代码 代码如下: