2012-01-03 5 views
0

공백으로 항상 둘러싸인 구두점이있는 텍스트 필드가 있습니다. 예를 들면 다음과 같습니다.문장 부호 주위에 앞/뒤 공백을 제거하십시오.

I don't recall saying ' pick up the boot ' or ' now is the time ' . But it's possible , so I may have . 

이 공백을 제거하는 정규식 구문은 무엇입니까? 나는 actionscript에서 일하고있다.

편집 : 위의 예에서 볼 수 있듯이 실제로는 앞과 뒤 모두 표시됩니다.

답변

1

이 시도 :

var str:String = "I don't recall saying ' pick up the boot ' or ' now is the time ' . But it's possible , so I may have ."; 

// "foo ' bar ' baz" => "foo 'bar' baz" 
var re1:RegExp = /'\s(.*?)\s'/g; 
str = str.replace(re1, "'$1'"); 

// "foo , bar . baz" => "foo, bar. baz" 
var re2:RegExp = /\s([.,])/g; 
str = str.replace(re2, "$1"); 

를이 특정 문자열이 들어 그 결과를 얻을 것이다 : 그것은

같은 문자열을 작동하지 않습니다 일부 조정이 필요

I don't recall saying 'pick up the boot' or 'now is the time'. But it's possible, so I may have. 

이 첫 번째 정규 표현식 수 있음을

I didn 't say' foo '. 
첫 정규 표현식에서 사용되는 특수 기호에 대한

짧은 설명 :

  • \s

    는 공백 문자 (공백, 탭)
  • .가 의미하는 모든 문자
  • * 0 개 이상 반복
  • ?입니다 * 한정 기호는 욕심이 없으므로 가능한 한 적은 수의 문자로 일치합니다.
  • 을 모두 괄호 안에 넣으면 캡처 그룹이 만들어집니다. 우리는 나중에 당신은 this site 또는 Adobe에서 문서의 this section에 regexps '에 대한 자세한 정보를 찾을 수 있습니다 $1

으로 대체 문자열의 내용을 참조 할 수 있습니다.

+0

고마워요! 첫 번째 re1을 영어로 어떻게 써야할까요? 그것은 되겠습니까 : re1은 singlequote 다음에 찾을 패턴입니다 ...? 이해하는데 가장 어려움을 겪고있는 부분은 (. *?) 또한 대체 할 때, 정확히 " '$ 1'"이 무엇입니까? – David

+0

짧은 설명을 추가했지만 코드에서 regexp를 사용하려는 경우 해당 항목에 대해 더 자세히 읽는 것이 좋습니다. –

+0

예, 그들에 대해 읽고 있었지만, 당신의 설명은 더 빨리 진행됩니다. 다시 한번 감사드립니다. – David

관련 문제