首页 新闻 会员 周边

正则表达式:如何删除行首的空格

0
悬赏园豆:50 [已解决问题] 解决于 2012-02-22 17:37

如题:

我现在有需求想把行首的空格删除,希望熟悉的人帮下忙

String s = "hello!\n  I miss you";

现在的输出结果为:

hello!

  I miss you

想让他对齐显示:

hello!

I miss you

拜托了

问题补充:

不好意思,没说明。

我是使用Java做的

我只想替换头部的空格,而单词中间的继续保留

卡马克的主页 卡马克 | 初学一级 | 园豆:132
提问于:2012-02-22 16:20
< >
分享
最佳答案
0

你直接替换就行了。

s = Regex.Replace(s, @"([\n\r])\s*", "$1", RegexOptions.Compiled | RegexOptions.IgnoreCase);
收获园豆:50
LCM | 大侠五级 |园豆:6876 | 2012-02-22 16:29

@"^\s+"

dudu | 园豆:30948 (高人七级) | 2012-02-22 16:39
java的我没有开发环境,好像里面用replaceAll吧,正则表达式基本都一样的。
javascript中的如下:
s=s.replace(/([\r\n])\s*/g,"$1");
LCM | 园豆:6876 (大侠五级) | 2012-02-22 17:13

@LCM: 我使用了

Pattern p = Pattern.compile("^\\s*");
Matcher m = p.matcher(s);

m.replaceAll("");

不好用

 

卡马克 | 园豆:132 (初学一级) | 2012-02-22 17:15

@卡马克: 用^\\s*这个正则表达式不可以的,因为^表示从字符串的开始,而你的开始并没有空格,而是\n后面有空格。

LCM | 园豆:6876 (大侠五级) | 2012-02-22 17:20

@LCM: 

那应该怎么办呢,我就想要删除换行后的那一行的行首空白字符。

卡马克 | 园豆:132 (初学一级) | 2012-02-22 17:22

@卡马克: 用我上面写的正则表达式就可以的啊。是不是java中也可以直接用String.replaceAll呢?并且应该有几个参数才对,照着我上面的C#的和javascript的实现就可以了的啊。

LCM | 园豆:6876 (大侠五级) | 2012-02-22 17:26

@LCM: 那我试一下,谢谢

卡马克 | 园豆:132 (初学一级) | 2012-02-22 17:28
其他回答(3)
0

用什么代码实现?Javascript?

dudu | 园豆:30948 (高人七级) | 2012-02-22 16:25

javascript中没有String吧

支持(0) 反对(0) LCM | 园豆:6876 (大侠五级) | 2012-02-22 16:30

@LCM: Javascript有String

支持(0) 反对(0) dudu | 园豆:30948 (高人七级) | 2012-02-22 16:38

@dudu: 哦,是有String。记混了。

支持(0) 反对(0) LCM | 园豆:6876 (大侠五级) | 2012-02-22 16:40
0

直接replace掉。

az235 | 园豆:8483 (大侠五级) | 2012-02-22 16:58
0

String s = "hello!\n I miss you";
System.out.println(s.replaceAll("(\\n)\\s+","$1"));

adai_m | 园豆:172 (初学一级) | 2016-11-21 21:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册