【正则?】java字符串处理

苦苦的潜行者 2011-08-20 09:36:49
还是昨天说的公司的jsp业务,有兴趣的可以去看看我昨天的帖子
今天又提出个小的要求,就是把出现"|"的字符串的"|"前后空格去掉。
(这些字符串都经过去多空格处理,所以不会出现连续多个空格)
大体的原数据类似如
"abc | abc" "123 |abc" "abc| 456" "ab cd | abc" "ab cd | ab cd" 等等

我需要只去掉紧挨着"|"前后的空格,处理的后的格式为
"abc|abc" "123|abc" "abc|456" "ab cd|abc" "ab cd|ab cd"

是不是又要用到正则还是怎么滴,哎,等我忙完这个作业,我一定去好好学java基础和正则,
我表示基础不牢,压力很大啊。
...全文
121 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
苦苦的潜行者 2011-08-20
  • 打赏
  • 举报
回复

各种大神此起彼伏,羡慕嫉妒恨...

10楼加你好友了,昨天你就一直关注我,倍感光环笼罩啊...


等下午结贴。



-----------------------------
...
剑神一笑 2011-08-20
  • 打赏
  • 举报
回复
s= s .replaceAll("\\s*\\|\\s*", "|");
hq333 2011-08-20
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 hairui1985 的回复:]
用split(),然后分解的每一个字符串用trim()处理,然后再连接起来。这个方法应该好些,replace太局限。
[/Quote]查了查,java的replace不支持正则,灵活性确实不够,用replaceAll:
public class Test{
public static void main(String[] args){
String str = "abc | abc 123 |abc abc| 456 ab cd | abc ab cd | ab cd";
str = str.replaceAll(" ?\\| ?", "|");
System.out.print(str);
}
}
hairui1985 2011-08-20
  • 打赏
  • 举报
回复
用split(),然后分解的每一个字符串用trim()处理,然后再连接起来。这个方法应该好些,replace太局限。
hq333 2011-08-20
  • 打赏
  • 举报
回复
正则" ?\\| ?",如会多个空格,用* 代替 ?
苦苦的潜行者 2011-08-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 kiss601459202 的回复:]
For Example:

Java code
String strt = "abc| 456";
strt = strt.replace(" | ", "|").
replace(" |", "|").
replace("| ", "|");
System.out.println(str……
[/Quote]


膜拜!好犀利。求灌注,求爆菊..




-----------------------------
...
kiss601459202 2011-08-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xiaolinyouni 的回复:]

我了个去,你回答这么快,我还想改改呢,字符串中的"|"可能不止一个。

------------------------
我晕,想到怎么处理了。
用split(),然后分解的每一个字符串用trim()处理,然后再连接起来。哎,死脑筋死脑筋,看来这几天真是忙头晕脑胀的了。

1楼这分就给你吧,



-----------------------------
我是猴嫂派来监视……
[/Quote]


String strt = "abc | abc 123 |abc abc| 456 ab cd | abc ab cd | ab cd";
strt = strt.replace(" | ", "|").
replace(" |", "|").
replace("| ", "|");
System.out.println(strt);
kiss601459202 2011-08-20
  • 打赏
  • 举报
回复
For Example:
String strt = "abc| 456";
strt = strt.replace(" | ", "|").
replace(" |", "|").
replace("| ", "|");
System.out.println(strt);
苦苦的潜行者 2011-08-20
  • 打赏
  • 举报
回复
我了个去,你回答这么快,我还想改改呢,字符串中的"|"可能不止一个。

------------------------
我晕,想到怎么处理了。
用split(),然后分解的每一个字符串用trim()处理,然后再连接起来。哎,死脑筋死脑筋,看来这几天真是忙头晕脑胀的了。

1楼这分就给你吧,



-----------------------------
...
kiss601459202 2011-08-20
  • 打赏
  • 举报
回复
你这个只要 String.replace(" | " , "|") String.replace(" |" , "|") String.replace("| " , "|")
安心逍遥 2011-08-20
  • 打赏
  • 举报
回复
字符串有替换的,可以把空格替换成“”,这样就可以了
具体什么,想不起来了,楼主百度一下
内容概要:本文围绕“光伏-储能-数据中心”系统的容量优化配置展开研究,旨在通过构建数学模型并结合Matlab编程实现,对园区内光伏发电、储能设备与数据中心算力负荷之间的多能互补关系进行协同优化。研究综合考虑可再生能源出力的波动性、储能系统的充放电特性以及数据中心的动态用电需求与算力调度特性,建立以最小化综合成本、降低碳排放强度、提升能源自给率等为目标的多目标优化模型,并采用先进的智能优化算法(如粒子群、灰狼、鲸鱼等)进行求解,从而确定光伏装机容量与储能系统配置的最优方案。文中提供了完整的Matlab代码实现流程,涵盖数据预处理、模型构建、算法求解与结果可视化全过程,属于综合能源系统与信息基础设施深度融合的前沿交叉课题。; 适合人群:具备电力系统、能源工程、自动化或计算机等相关专业背景,熟悉Matlab编程与基本优化算法原理,从事新能源利用、绿色数据中心、综合能源系统规划与低碳调度等方向的研究生、科研人员及工程技术人员。; 使用场景及目标:① 掌握光伏-储能-数据中心耦合系统的建模思路与多能流协同机制;② 学习基于Matlab的多目标容量优化配置方法与智能算法应用技巧;③ 为工业园区、数字经济园区及绿色数据中心的能源系统规划、节能减排与可持续运行提供科学决策依据和技术解决方案。; 阅读建议:建议结合所提供的Matlab代码,深入理解目标函数设计、约束条件设定及算法实现细节,可通过调整负荷参数、改变气候数据、引入新的优化目标或约束条件等方式进行拓展性实验,以深化对系统特性的认知并提升实际科研与工程应用能力。

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧