2011-04-06 1 views
0

에 분리 :는 숫자와 #을 허용 쉼표를 교체하고 난 정규식에서 다음을 수행 할 공간

1. allow alphanumeric characters 
2. allow the # character, and comma ',' 
3. replace the comma ',' with a space 
4. split on space 


sentence = "cool, fun, house234" 

>> [cool, fun, house234] 
+2

예에서 쉼표는 분할 점으로 사용되며 공백으로 대체되지 않습니다. 질문이 정확하게 표현되지 않을 수도 있습니다. 또한,''cool '이 지역 변수가 아니며 괄호로 둘러싸인 것이 결과 문자열이라는 것을 명확히하기 위해''cool' '과 같이 결과에서 큰 따옴표를 사용해야합니다. – sawa

+0

'#'과',''를 허용 하시겠습니까? 영숫자,'#'도 아니고','도 아닌 문자로 처리해야하는 것은 무엇입니까? ','가 분할 구분자로 사용되는 공간 끝으로 바뀌면'허용 '이란 의미는 무엇입니까? – sawa

+0

공간을 분할하고 싶을 때, 어떤 사람들은 '스플리터'라고 생각해서 입력 할 수도 있습니다. 그래서 그 캐릭터를 제거하거나 공간으로 바꾸고 싶습니다. – Blankman

답변

4

이 그것을 할 수있는 간단한 방법입니다 :

sentence.scan(/[a-z0-9#]+/i) #=> ["cool", "fun", "house234"] 

를 기본적으로 문자의 대소에 za를 포함하는 실행, 플러스 9-0을 찾고, 그리고 # 및 반환 그. 쉼표와 공백은 일치하지 않으므로 무시됩니다.

#을 사용하는 예는 표시하지 않지만 내가 말한 것처럼 추가했습니다.

0

당신은 정규 표현식 1과 2를 할 수 있지만 3, 4

sentence = "cool, fun, house234" 

sentence.gsub(',', ' ').split if sentence =~ /[0-9#,]/ 

=> [ "cool", "fun", "house234" ] 
0
"cool, fun, house234".split(",") 
=> ["cool", " fun", " house234"] 

그냥 쉼표에 분할하기 위해 ","분할 방법으로 전달할 수 필요가 공백으로 변환 없습니다.

0

아마, 당신이 원하는 것은 무엇입니까?

string.gsub(/[^\w, #]/, '').split(/ +,? +/) 
관련 문제