Power Automate:求助移除字符串末尾的换行符
移除StringBuilder构建字符串末尾的换行符
针对你用StringBuilder构建的带换行符(\n)的字符串,这里给几个实用的解决办法:
方法一:直接操作StringBuilder(推荐)
先判断字符串末尾是不是换行符,确认后再删除,避免出错:
StringBuilder sb = new StringBuilder("1. FNPF eMail/OWA\n2. LiveLink/Content Server\n3. Photo Enquiry\n4. Internet Access\n5. File Server Access\n"); if (sb.length() > 0 && sb.charAt(sb.length() - 1) == '\n') { sb.deleteCharAt(sb.length() - 1); } String result = sb.toString();
这个方法效率最高,直接在原StringBuilder对象上修改,不用额外生成字符串。
方法二:正则移除末尾所有连续换行
如果字符串末尾可能有多个连续的\n,用正则可以一次性清掉:
StringBuilder sb = new StringBuilder("1. FNPF eMail/OWA\n2. LiveLink/Content Server\n3. Photo Enquiry\n4. Internet Access\n5. File Server Access\n\n"); String result = sb.toString().replaceAll("\\n+$", "");
\\n+$能匹配末尾一个或多个连续换行,替换成空串就搞定了。
避坑提醒:别乱用trim()
trim()会把字符串前后所有空白字符(包括空格、制表符\t)都删掉,要是你的字符串开头或中间有需要保留的空白,用这个方法就会搞砸,比如:
// 不推荐,可能误删需要保留的空白 String badResult = sb.toString().trim();
内容的提问来源于stack exchange,提问作者Moshin Khan
相关产品推荐
相关产品推荐

