简单的正则不知道该怎么写,请大家指点一二。

anfield 发布于 2010/09/14 12:27
阅读 580
收藏 2

String s 如下:

================================================================

您好:

烦请确认18913659675使用情况,谢谢!
BJ024660937






您好:

烦请确认18913659675使用情况,谢谢!
BJ024660937







您好:

烦请确认18913659675使用情况,谢谢!
BJ024660937


================================================================

替换后的效果如下:

================================================================

您好:
烦请确认18913659675使用情况,谢谢!
BJ024660937
您好:
烦请确认18913659675使用情况,谢谢!
BJ024660937
您好:
烦请确认18913659675使用情况,谢谢!
BJ024660937

================================================================

 

如何写正则将上面的内容替换,其实就是将多个换行回车替换成一个,其他的都不用变。

没用过正则,请大家指点一二,多谢。

加载中
0
囧南风囧
囧南风囧

貌似可以用环视?找BJ024660937结束位置,然后是多个空白字符,然后找 您好: 前面的位置!我得回家看看书才能给出表达式

0
nile
nile

    public static void main(String[] args) {
        String str = "您好:\n\n烦请确认18913659675使用情况,谢谢!\nBJ024660937\n\n\n\n\n\n\n您好:\n\n烦请确认18913659675使用情况,谢谢!\nBJ024660937\n\n\n\n\n\n\n\n您好:\n\n烦请确认18913659675使用情况,谢谢!\nBJ024660937";
        System.out.println(str);
        String s = str.replaceAll("[\\n]+", "\n");
        System.out.println(s);
    }

0
nile
nile

你的字符串在java中读取之后如str.

运行输出

您好:

烦请确认18913659675使用情况,谢谢!
BJ024660937






您好:

烦请确认18913659675使用情况,谢谢!
BJ024660937







您好:

烦请确认18913659675使用情况,谢谢!
BJ024660937
您好:
烦请确认18913659675使用情况,谢谢!
BJ024660937
您好:
烦请确认18913659675使用情况,谢谢!
BJ024660937
您好:
烦请确认18913659675使用情况,谢谢!
BJ024660937

0
曾建凯
曾建凯

路过,顶一下

0
anfield
anfield

引用来自#3楼“nile black”的帖子

    public static void main(String[] args) {
        String str = "您好:\n\n烦请确认18913659675使用情况,谢谢!\nBJ024660937\n\n\n\n\n\n\n您好:\n\n烦请确认18913659675使用情况,谢谢!\nBJ024660937\n\n\n\n\n\n\n\n您好:\n\n烦请确认18913659675使用情况,谢谢!\nBJ024660937";
        System.out.println(str);
        String s = str.replaceAll("[\\n]+", "\n");
        System.out.println(s);
    }

之前的那个带格式的string是从文件中读取的,是没有"\n"的。所以不能人为的添加“\n”

0
曾建凯
曾建凯

preg_replace('/([\r\n]{1,})/', "\n", $str)

正在写php,临时写了个php的。可能和Java的正则机制有些不同

0
曾建凯
曾建凯

用js又写了一个

val.split(/[\r\n]/).filter(function(item, index) { if (item.length > 0) return item }).join('\n')
0
曾建凯
曾建凯

引用来自#7楼“曾建凯”的帖子

preg_replace('/([\r\n]{1,})/', "\n", $str)

正在写php,临时写了个php的。可能和Java的正则机制有些不同

发现个问题,如果用这个方法,头尾的一个回车去不掉,必须要trim一下:

val.replace(/[\r\n]+/g, '\n').trim()
这是js
0
anfield
anfield

高手真多啊

我想出来了个更好的办法,想将其换成字符串再转成换行

str = str.replace("\n","ppppp").replace("\r","ppppp");
str = str.replaceAll("ppppp+", "\n");

多谢大家的热情帮助。

0
曾建凯
曾建凯

恩,这个办法我也想过,被你发了

返回顶部
顶部