2014-03-06 46 views
2

是不是可以更改string中的特定数字/字母或空格并将其设置为另一个?将字符串中的特定字母/空格更改为另一个字符

例子:

String test = "name1 name2 name3 name4" 

,我想将它转换成另一种String,它可能看起来像这样:

String test2 = "name1+name2+name3+name4" 

所以,我怎么能告诉它来设置所有的“空间”,以a +?

+0

你也想删除重复的“NAME4”或者是在你的问题的错误呢? – Jason

+0

是一个错误,呵呵:D – user3220962

回答

6

使用replaceAll()

test2=test.replaceAll("\\s","+"); 
+0

这应该是test2 = test.replaceAll ... – Jason

+0

@Jason致谢更新 – Nambi

4

尝试String.replaceAll()

test2 = test.replaceAll("\\s","+"); 

注:
(正则表达式)\ S:(描述)空白字符,简称[\吨\ n \ X0B \ r \ f]
由于这是一个特殊字符,所以它前面有一个\

3

你应该看看repalceAll()String

test2=test1.replaceAll(" ","+"); 
3

你需要做的是搜索空间的每一个你找到一个替代的时间字符串,它与一个指定的字符。

在Java中有功能可以为您做到这一点。如ReplaceAll(oldStr, newStr),其中oldStr可以接受regular expression,newStr是替代品。

String test = "name1 name2 name3 name4"; 
test = test.ReplaceAll(" ","+"); 
System.out.println(test); 

输出是:

名1 +名2 + NAME3 + NAME4

而是键入一个空格: “”

您可以添加精确的字符代码( ASCII code)你想要使用替换:

Character.toString ((char) i) 

其中i是ASCII码。

所以相当于是:

test = test.ReplaceAll(Character.toString ((char) 32), Character.toString ((char) 43)); 

希望这有助于:)

+0

OP正在寻找Java解决方案。 – Jason

+0

哦,我错过了那个标签,woops .. C#和Java非常相似,所以我编辑以适应 – JacobD

+0

注意:replaceAll需要第一个参数的正则表达式。 – Jason

相关问题