java如何输出一个竖线_关于java:使用竖线字符(“|”)拆分字符串
本问题已经有最佳答案,请猛点这里访问。
我无法从此字符串中拆分值:
"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:使用竖线字符(“|”)拆分字符串相关推荐
- c#输出一个平行四边形_如果Java 和 C# 同时出现,生态也差不多,你选择谁?
Java与C#比较,哪个语言更是适合你? 先来说一说Java和c#的一些语言细节上的区别. 第1个方面是数据类型方面. c#支持nullable数据类型,而Java不支持. c#支持指针类型,而Jav ...
- java数组输入一个实数_用java!!输入五个数,保存到一个数组中,然后将... C语言,编写一个程序,从键盘输入5个数,算出总和......
导航:网站首页 > 用java!!输入五个数,保存到一个数组中,然后将... C语言,编写一个程序,从键盘输入5个数,算出总和... 用java!!输入五个数,保存到一个数组中,然后将... C ...
- java编写输出20个数_【Java每日编程小练习 2021-01-20】
1 题目重述 题目描述: 字符串压缩 解释: 将原字符串中连续出现的字符,按照出现次数进行压缩处理. 例如: 输入:AACBBBDDDDDFFX 输出:A2C1B3D5F2X1 输入:AACCCDKK ...
- java如何得到一个窗口_在Java Swing中,如何获得Win32窗口句柄(hwnd)引用到窗口?...
你没有写任何C / JNI代码. 来自Java: import sun.awt.windows.WComponentPeer; public static long getHWnd(Frame f) ...
- 【源码+图片素材】Java王者荣耀游戏开发_开发Java游戏项目【王者荣耀】1天搞定!!!腾讯游戏_Java课程设计_Java实战项目_Java初级项目
王者荣耀是当下热门手游之一,小伙伴们是否想过如何制作一款属于自己的王者荣耀游戏呢? 本课程讲解了一个王者荣耀游戏的详细编写流程,即使你是刚入门Java的新手,只要你简单掌握了该游戏所需要的JavaSE ...
- java控制台输出图书馆管理系统(只用java代码不用数据库和GUI等)
java控制台输出图书馆管理系统(只用java代码不用数据库和GUI,java入门的新手秒懂) 在个项目中,我只用数组保存数据,和只用for循环和if条件语句来完成,连数组工具类都没用,所以导致要用到 ...
- java用星号和空格输出一个字母_实例006 编程输出星号组成的等腰三角形
实例006 编程输出星号组成的等腰三角形 本实例将作为接触Java开发的***个程序,用JDK工具包和记事本来完成.通过本实例可以体会Java最基本的开发方式,它可以不借助任何IDE集成开发工具,虽 ...
- 用java编写输出欢迎光临_编写一个完整的Java applet程序,程序功能为:在屏幕上输出“欢迎光临Java世界!”的字符串信息。...
Applet程序开发主要步骤如下: 1)选用EDIT或Windows Notepad等工具作为编辑器建立Java Applet源程序. 2)把Applet的源程序转换为字节码文件. 3)编制使用cla ...
- cmd 将文件夹下文件剪切到另外一个文件_总结java中文件拷贝剪切的5种方式-JAVA IO基础总结第五篇...
本文是Java IO总结系列篇的第5篇,前篇的访问地址如下: 总结java中创建并写文件的5种方式-JAVA IO基础总结第一篇 总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇 ...
- 在java里四舍五入怎么做_利用java怎么实现一个四舍五入功能
利用java怎么实现一个四舍五入功能 发布时间:2020-12-02 16:46:08 来源:亿速云 阅读:68 作者:Leah 这期内容当中小编将会给大家带来有关利用java怎么实现一个四舍五入功能 ...
最新文章
- document.compatMode属性
- 程序员面试题精选100题(13)-第一个只出现一次的字符[算法]
- 自动挡轿车等红灯时,是挂D挡踩刹车好还是挂N挡好呢?
- 小窍门-在EXECL表中加入下拉列表
- python画tan_Python tan() 函数
- 产业园区数字孪生规划方案
- flex布局,子元素撑开父元素
- Ubuntu 14.04 引导修复(Boot Repair)(双系统修复一)
- sin级数展开c语言,三角函数sin的泰勒级数展开
- 一个nginx部署多个项目
- 模仿实现百度搜索黑洞动画效果
- 斯隆论社会责任:德鲁克日志之四月二十五日
- 4.2.1 Duration and Convexity
- 密码学数学基础,群,阿贝尔群,阶,双线性对,哈希函数,消息认证码概述
- 提高信息系统的安全防护能力,一篇文章带你了解等保测评的重要性
- uni.app开发物联网小程序
- Linux虚拟机增加sda容量
- 风速风向 UV 相互转换
- 网站降权有什么原因,如何解决恢复?
- NV040C语音单片机芯片,节省MCU开发成本,在电取暖桌上的应用!