首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Java字符串拆分在"\n“处失败

Java字符串拆分在"\n“处失败
EN

Stack Overflow用户
提问于 2020-06-18 00:39:10
回答 2查看 149关注 0票数 2

在apache处理器方法中,我试图拆分一个字符串,该字符串是从Apache消息代理作为JSON发送的。拆分例程如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
String[] messageLines = new String[0];

if (messageBody.contains("\\n")) {
    messageLines = messageBody.split("\\n");
} else {
    messageLines = messageBody.split("\n");
}

在调试器中,"messageBody“字符串如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"deviceName (string:1) -> TEST\nintValue (int:1) -> 123\ndoubleValue (double:1) -> 12.345\nacquisitionStamp (long:1) -> 1592468678231250944\nintArrayValue (int[]:10) -> [1,2,3,4,5,6,7,8,9,10]"

代码运行在if (messageBody.contains("\\n")) {...部件中,但是.split("\\n")只返回一个只有一个条目(完整的messageBody字符串)的数组。同样的情况是,我使用.split("\n")。这里怎么了?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-18 00:45:24

String.split()接受正则表达式作为参数。为了匹配字符串中的文本反斜杠(\),在正则表达式中需要4个反斜杠(\\\\)。

对于regex,反斜杠需要转义一次,然后再转义两个反斜杠,以便在字符串中使用。

就你的例子而言,它将是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
messageLines = messageBody.split("\\\\n");
票数 3
EN

Stack Overflow用户

发布于 2020-06-18 00:45:51

请使用StringTokenizer类拆分(Tokenise)字符串,而不是使用String.split()。StringTokenizer st =新的StringTokenizer(str,"\n")来打断新行中的字符串。

或StringTokenizer st =新StringTokenizer(str,"\n")在存在'\n‘时将其断开。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62445817

复制
相关文章
java 自动装箱与拆箱
这个是jdk1.5以后才引入的新的内容,作为秉承发表是最好的记忆,毅然决定还是用一篇博客来代替我的记忆: java语言规范中说道:在许多情况下包装与解包装是由编译器自行完成的(在这种情况下包装成为装箱,解包装称为拆箱); 其实按照我自己的理解自动装箱就可以简单的理解为将基本数据类型封装为对象类型,来符合java的面向对象;例如用int来举例: //声明一个Integer对象Integer num = 10;//以上的声明就是用到了自动的装箱:解析为Integer num = new Integer(10);
Java帮帮
2018/03/16
7230
Java 自动拆箱装箱原理
执行代码时系统为我们执行了 Integer total = Integer.valueOf(99);
王小明_HIT
2019/12/18
7150
json转换对象失败_java对象转json字符串
没有无参构造函数,再json转换的时候bean类要加上无参构造函数,如JsonResult Json转对象失败:”No suitable constructor found for type [simple type, class com.test.faster.domain.respons 今天自己定制一个json转换对象的方法,转换过程中报错:
全栈程序员站长
2022/11/17
1.9K0
装箱和拆箱---JAVA基础篇
这里iii是空引用,空的引用不指向任何对象,既然没有对象,也就无法调用方法,无法调用intValue()方法,也就无法进行拆箱,也就无法与整数相加
大忽悠爱学习
2021/11/15
2680
Java 性能笔记:自动装箱/拆箱
如果我说“仅仅修改下面代码中的一个字符就可以获得五倍于当前的运行速度”你会怎么想呢?
哲洛不闹
2018/09/18
4480
Java 性能笔记:自动装箱/拆箱
java BASE64处理
package org.fh.util; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import org.apache.commons.codec.binary.Base64; /** * 说明:BASE64处理 * 作者:FH Admin
FHAdmin
2022/01/13
3130
Java包装类与自动拆箱装箱
Java 中的基本数据类型(如 int、char、boolean 等)是不具备面向对象特性的,不能直接参与面向对象的操作。为了解决这个问题,Java 提供了对应的包装类来将基本数据类型转换为对象。
程序员朱永胜
2023/09/28
2810
微积分在流媒体中的应用
微积分很实用,譬如流媒体中的音频重新采样和混音,就需要保证新样本是光滑的否则有噪音,基础就是微积分了(可导就是连续变化,连续变化就是光滑,二次可导就是变化的变化也是光滑,就是三次样条插值了)。 不过微积分老师的表达是不一样的,因为教育体制和目的不同。譬如,对于三角函数的导数和自然对数求导: 我们老师说:这个是一个有用的函数,非常重要,因为在考试时做题可以得3分。 而月亮国老师说:这个是一个有用的函数,非常重要,因为它们常在航海导航中使用,依靠它,船才能通过暗礁。 实际上都是丑陋的ln(u)求导而已~ 再来
Winlin
2022/03/18
3150
Java学习记录--自动拆箱与装箱
自动拆箱与装箱是Java5引入的新特性,目的是解决基本类型与包装类型之间切换的麻烦. 装箱
屈定
2018/09/27
4990
Java - Integer自动拆箱封箱的问题
Integer在与Integer比较的时候是比较内存地址,Integer与int比较的时候Integer会产生自动拆箱进行值比较,如果使用不当,这期间就会产生一些不易察觉的问题,下面将详细介绍。
夹胡碰
2021/01/06
7840
Java创建File失败
今天在一个Java Web工程中,打算在运行过程中动态新建一个文件可是总是创建不成功,最后发现了原因是因为我父目录中含有空格。
卡尔曼和玻尔兹曼谁曼
2019/01/22
1.6K0
第六节:详细讲解Java中的装箱与拆箱及其字符串
大家好,我是 Vic,今天给大家带来详细讲解Java中的装箱与拆箱及其字符串的概述,希望你们喜欢
达达前端
2019/07/03
3260
Java基础语法n
BK      分段函数(SDUT 2257) import java.util.*; public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); double n; int t; while(sc.hasNext()) { t=sc.next
Lokinli
2023/03/09
3600
python替换第n个字符串_替换字符串中第n个出现的子字符串
我已经想出了下面的方法,它还考虑了替换所有出现在左边或右边的“旧”字符串的选项。当然,由于标准str.replace工作得很好,因此没有替换所有引用的选项。def nth_replace(string, old, new, n=1, option='only nth'):
用户7886150
2021/01/11
4.8K0
新手学JAVA(四)----装箱与拆箱
                                                                                                           包装类对应表
令仔很忙
2018/09/14
4290
新手学JAVA(四)----装箱与拆箱
Java数据类型 拆箱和装箱
解释缓存范围 Integer.valueOf()方法基于减少对象创建次数和节省内存的考虑,缓存了[-128,127]之间的数字。此数字范围内传参则直接返回缓存中的对象。在此之外,直接new出来。
瑞新
2020/07/07
3060
Java数据类型 拆箱和装箱
Java中的自动装箱与拆箱
自动装箱和拆箱从Java 1.5开始引入,目的是将原始类型值转自动地转换成对应的对象。自动装箱与拆箱的机制可以让我们在Java的变量赋值或者是方法调用等情况下使用原始类型或者对象类型更加简单直接。
技术小黑屋
2018/09/05
7300
Java中的自动装箱与拆箱
自动装箱和拆箱从Java 1.5开始引入,目的是将原始类型值转自动地转换成对应的对象。自动装箱与拆箱的机制可以让我们在Java的变量赋值或者是方法调用等情况下使用原始类型或者对象类型更加简单直接。
lyb-geek
2018/08/06
5960
有关JAVA自动装箱-拆箱的分析
在java常量与常量池 中已经介绍过一些java自动装箱与拆箱的例子。现在单独对自动装箱/拆箱进行总结。
冬天里的懒猫
2020/08/03
8950
java中的自动装箱和拆箱
我们知道java为8种基本类型分别提供了对应的包装类型,在Java SE5之前,如果要生成一个数值为10的Integer对象,必须这样进行:
说故事的五公子
2019/09/11
5980
java中的自动装箱和拆箱

相似问题

拆箱失败

13

javascript新行拆分在每n个字符处都是分裂的

23

折叠条件部分在start JqueryUI处关闭

13

Java拆分在空白处停止,同时使用\\作为分隔符

22

Regex拆分在西里尔字符串失败

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文