本问题已经有最佳答案,请猛点这里访问。

我无法从此字符串中拆分值:

"Food 1 | Service 3 | Atmosphere 3 | Value for money 1"

这是我目前的代码:

String rat_values ="Food 1 | Service 3 | Atmosphere 3 | Value for money 1";

String[] value_split = rat_values.split("|");

产量

[, F, o, o, d, , 1, , |, , S, e, r, v, i, c, e, , 3, , |, , A, t, m, o, s, p, h, e, r, e, , 3, , |, , V, a, l, u, e, , f, o, r, , m, o, n, e, y, , 1, ]

预期产出

Food 1

Service 3

Atmosphere 3

Value for money 1

逃离|。

|是正则表达式中的元字符。 你需要逃脱它:

String[] value_split = rat_values.split("\\|");

我花了15分钟跟踪它,因为我神秘地得到了同样的问题,并认为它与我的新手(对于java 8)使用Array.AsList或Arrays.stream有关 - 感谢devnull!

使用Pattern.quote()

String[] value_split = rat_values.split(Pattern.quote("|"));

//System.out.println(Arrays.toString(rat_values.split(Pattern.quote("|")))); //(FOR GETTING OUTPUT)

使用转义字符(对于元字符)

String[] value_split = rat_values.split("\\|");

//System.out.println(Arrays.toString(rat_values.split("\\|"))); //(FOR GETTING OUTPUT)

使用StringTokenizer(用于避免正则表达式问题)

public static String[] splitUsingTokenizer(String Subject, String Delimiters)

{

StringTokenizer StrTkn = new StringTokenizer(Subject, Delimiters);

ArrayList ArrLis = new ArrayList(Subject.length());

while(StrTkn.hasMoreTokens())

{

ArrLis.add(StrTkn.nextToken());

}

return ArrLis.toArray(new String[0]);

}

使用Pattern类(java.util.regex.Pattern)

Arrays.asList(Pattern.compile("\\|").split(rat_values))

//System.out.println(Arrays.asList(Pattern.compile("\\|").split(rat_values))); //(FOR GETTING OUTPUT)

产量

[Food 1 ,  Service 3 ,  Atmosphere 3 ,  Value for money 1 ]

对于第二个版本,您会将其称为splitUsingTokenizer("Food 1 | Service 3 | Atmosphere 3 | Value for money 1","|")吗?

或.. Pattern#quote:

String[] value_split = rat_values.split(Pattern.quote("|"));

这是因为String#split接受正则表达式:

|在正则表达式中有特殊含义。

quote将返回正则表达式的String表示形式。

为实际做RCA而投票赞成

split将regex作为参数。|在正则表达式中具有特殊含义..使用\\|而不是|来转义它。

String rat_values ="Food 1 | Service 3 | Atmosphere 3 | Value for money 1";

String[] value_split = rat_values.split("\\|");

for (String string : value_split) {

System.out.println(string);

}

java如何输出一个竖线_关于java:使用竖线字符(“|”)拆分字符串相关推荐

  1. c#输出一个平行四边形_如果Java 和 C# 同时出现,生态也差不多,你选择谁?

    Java与C#比较,哪个语言更是适合你? 先来说一说Java和c#的一些语言细节上的区别. 第1个方面是数据类型方面. c#支持nullable数据类型,而Java不支持. c#支持指针类型,而Jav ...

  2. java数组输入一个实数_用java!!输入五个数,保存到一个数组中,然后将... C语言,编写一个程序,从键盘输入5个数,算出总和......

    导航:网站首页 > 用java!!输入五个数,保存到一个数组中,然后将... C语言,编写一个程序,从键盘输入5个数,算出总和... 用java!!输入五个数,保存到一个数组中,然后将... C ...

  3. java编写输出20个数_【Java每日编程小练习 2021-01-20】

    1 题目重述 题目描述: 字符串压缩 解释: 将原字符串中连续出现的字符,按照出现次数进行压缩处理. 例如: 输入:AACBBBDDDDDFFX 输出:A2C1B3D5F2X1 输入:AACCCDKK ...

  4. java如何得到一个窗口_在Java Swing中,如何获得Win32窗口句柄(hwnd)引用到窗口?...

    你没有写任何C / JNI代码. 来自Java: import sun.awt.windows.WComponentPeer; public static long getHWnd(Frame f) ...

  5. 【源码+图片素材】Java王者荣耀游戏开发_开发Java游戏项目【王者荣耀】1天搞定!!!腾讯游戏_Java课程设计_Java实战项目_Java初级项目

    王者荣耀是当下热门手游之一,小伙伴们是否想过如何制作一款属于自己的王者荣耀游戏呢? 本课程讲解了一个王者荣耀游戏的详细编写流程,即使你是刚入门Java的新手,只要你简单掌握了该游戏所需要的JavaSE ...

  6. java控制台输出图书馆管理系统(只用java代码不用数据库和GUI等)

    java控制台输出图书馆管理系统(只用java代码不用数据库和GUI,java入门的新手秒懂) 在个项目中,我只用数组保存数据,和只用for循环和if条件语句来完成,连数组工具类都没用,所以导致要用到 ...

  7. java用星号和空格输出一个字母_实例006 编程输出星号组成的等腰三角形

    实例006  编程输出星号组成的等腰三角形 本实例将作为接触Java开发的***个程序,用JDK工具包和记事本来完成.通过本实例可以体会Java最基本的开发方式,它可以不借助任何IDE集成开发工具,虽 ...

  8. 用java编写输出欢迎光临_编写一个完整的Java applet程序,程序功能为:在屏幕上输出“欢迎光临Java世界!”的字符串信息。...

    Applet程序开发主要步骤如下: 1)选用EDIT或Windows Notepad等工具作为编辑器建立Java Applet源程序. 2)把Applet的源程序转换为字节码文件. 3)编制使用cla ...

  9. cmd 将文件夹下文件剪切到另外一个文件_总结java中文件拷贝剪切的5种方式-JAVA IO基础总结第五篇...

    本文是Java IO总结系列篇的第5篇,前篇的访问地址如下: 总结java中创建并写文件的5种方式-JAVA IO基础总结第一篇 总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇 ...

  10. 在java里四舍五入怎么做_利用java怎么实现一个四舍五入功能

    利用java怎么实现一个四舍五入功能 发布时间:2020-12-02 16:46:08 来源:亿速云 阅读:68 作者:Leah 这期内容当中小编将会给大家带来有关利用java怎么实现一个四舍五入功能 ...

最新文章

  1. document.compatMode属性
  2. 程序员面试题精选100题(13)-第一个只出现一次的字符[算法]
  3. 自动挡轿车等红灯时,是挂D挡踩刹车好还是挂N挡好呢?
  4. 小窍门-在EXECL表中加入下拉列表
  5. python画tan_Python tan() 函数
  6. 产业园区数字孪生规划方案
  7. flex布局,子元素撑开父元素
  8. Ubuntu 14.04 引导修复(Boot Repair)(双系统修复一)
  9. sin级数展开c语言,三角函数sin的泰勒级数展开
  10. 一个nginx部署多个项目
  11. 模仿实现百度搜索黑洞动画效果
  12. 斯隆论社会责任:德鲁克日志之四月二十五日
  13. 4.2.1 Duration and Convexity
  14. 密码学数学基础,群,阿贝尔群,阶,双线性对,哈希函数,消息认证码概述
  15. 提高信息系统的安全防护能力,一篇文章带你了解等保测评的重要性
  16. uni.app开发物联网小程序
  17. Linux虚拟机增加sda容量
  18. 风速风向 UV 相互转换
  19. 网站降权有什么原因,如何解决恢复?
  20. NV040C语音单片机芯片,节省MCU开发成本,在电取暖桌上的应用!

热门文章

  1. Gazebo学习--第二讲:构建一个简单模型
  2. H5--新增表单元素控件属性事件
  3. IIS新建网站报错:编译器错误信息: CS0016
  4. 视频文件(MP4)转文本文件(txt)python代码实现
  5. hostapd 安装 802.1X认证
  6. Ubuntu 12.04 设置外接显示器
  7. mssql -递归查询组织机构某节点下所有及最底层,重点:按顶级分组
  8. 理解java注解的实现原理
  9. 华为云服务器 共享文件夹在哪,华为云服务器 共享文件夹在哪
  10. 【电路设计】光耦使用及电路设计总结