2012-11-28 126 views
0

我需要在位于字符串内的任何斜线(/)之前或之后删除或添加空格。Javascript:检查字符串分隔符之间是否有空格

var str = 'some/value /even /more /text'; 

// should ideally be equal to this 'some /value /even/more text' 


我设法得到这种使用.split().join()

var text = $(this).val(); 
var arr = text.split('/'); 

for(var i=0, limit = arr.length; i < limit; i++) { 
    arr[i] = $.trim(arr[i]); 
} 

arr.join('/'); 


工作,但我在想,这可以用正则表达式来进一步优化。

+0

我看不出有什么逻辑在你的榜样。 – VisioN

回答

2
str = str.replace(/\s*\/\s*/g, '/'); 
1

你的意思是这样的吗?

var str = this.value.replace(/\s*\/\s*/g, "/"); 

它也可以配合来完成:

var str = this.value.match(/[^ /]+/g).join("/"); 

+0

你的第二个版本在'''''',''''和'“/”'上失败。 – melpomene

+0

@melpomene怎么回事?它应该工作得很好:http://jsfiddle.net/dYZJJ/。 – VisioN

+0

http://jsfiddle.net/dYZJJ/1/ – melpomene

相关问题