java - Java - 如何用“1 ½”之类的分数字符在“空格”上拆分字符串?
问题描述
所以我希望能够用空格分割这个字符串:“1 ½ 杯无脂肪的一半,被分割的”
我这样写我的代码:
String trimmed;
String[] words = trimmed.split(" ");
但它不起作用!1 和 ½ 最终位于数组的相同位置。
我还尝试了如何使用任何空白字符作为分隔符来拆分字符串,但它也不会拆分字符串。在文本编辑器中查看显然有某种“空间”,但我不知道如何拆分它。是因为“½”吗?
解决方案
你有一个薄的空间,而不是一个“常规”的空间字符。
对此的正则表达式捕获并非易事,因为您需要捕获其他字符类。您至少希望将其捕获为一个额外的分组......
System.out.println(Arrays.toString(s.split("(\\s|\\u2009)")));
...但您还需要在此搜索中包含所有其他非标准空白字符,以确保您不会错过任何内容。以上适用于您的情况。
推荐阅读
- haskell - c 头文件更改后 Cabal 不重建项目
- android - React Native Android:如何检查项目是否使用来自 Homebrew 或 gradle-wrapper.properties 的 Gradle 版本?
- html - 复杂的响应式布局
- ruby-on-rails - 按特定值匹配数据集中的实例记录
- javascript - 停止从 React 中的选择组件传播
- selenium-webdriver - 如何从属性文件中分配 TestNG Xml 中的参数值
- node.js - Nodejs 表达 res.redirect 循环
- laravel - Laravel 排队作业的属性优先级
- html - 尝试创建将在多台计算机上运行的 HTML 应用程序
- django - AttributeError:在 OneToOneField 模型字段上使用 F 函数时,“FloatField”对象没有属性“模型”错误