구두점이 아닌 문자를 제거하지만 문자열의 챕터를 계속 추적하는 시각화를 만들려고합니다.정규식과 일치하지 않는 모든 항목 제거
지금까지 내가 유지하려면 일치하는 다음 정규식을 만들 달성 : 나는 문자열에서 텍스트의 나머지 부분을 대체 할 수있는 방법
(\CAPÍTULO ([0-9]+))|([\\?.,:;!¡¿。、·*\(\)\[\]\-–\_«»\'\'\/@#$&\%\^=+\|<>\"])
?
구두점이 아닌 문자를 제거하지만 문자열의 챕터를 계속 추적하는 시각화를 만들려고합니다.정규식과 일치하지 않는 모든 항목 제거
지금까지 내가 유지하려면 일치하는 다음 정규식을 만들 달성 : 나는 문자열에서 텍스트의 나머지 부분을 대체 할 수있는 방법
(\CAPÍTULO ([0-9]+))|([\\?.,:;!¡¿。、·*\(\)\[\]\-–\_«»\'\'\/@#$&\%\^=+\|<>\"])
?
이 시도 :
는var r = /(CAPÍTULO [0-9]+|[\\?.,:;!¡¿。、·*\(\)\[\]\-–\_«»\'\'\/@#$&\%\^=+\|<>\"])|(.)/g
var s = "[email protected]#123^&*XYZ;";
var p = s.replace(r, "$1");
// Result: "[email protected]#^&*;"
첫째, 그룹 1에있는 모든 문자와 일치 모든 불 일치가 두 번째 그룹에 속합니다. 그룹 번호 (예 : $ 1)의 결과가 없으면 비어 있기 때문에 첫 번째 그룹과 일치하는 항목을 제외한 모든 항목을 효과적으로 지 웁니다.
당신은 당신이 할 수있는 다른 문자의 배치를 보존해야하는 경우 : 당신은 그냥 마지막에 추가 ""
을 처리 할 필요가
var r = /(CAPÍTULO [0-9]+|[\\?.,:;!¡¿。、·*\(\)\[\]\-–\_«»\'\'\/@#$&\%\^=+\|<>\"])|(.)/g
var s = "[email protected]#123^&*XYZ;";
s.replace(r, "$1,").split(",");
// Result: ["", "", "", "!", "@", "#", "", "", "", "^", "&", "*", "", "", "", ";", ""]
합니다. ;)이 작업은 아무 것도 대체하지 않고 (즉, "$1"
이 일치하지 않는 경우 ""
이 됨) 쉼표 (또는 원하는 모든 문자)가 위치를 추적하기 때문에 작동합니다. s.replace(r, "$1~").split("~");
과 같은 것을 사용할 수도 있습니다.
이것은 그가 유지하기를 원하는 '자본 1'부분을 제거하는 것처럼 보입니다. –
지금 시도하십시오 - 그는 원래 게시물에'\ C'을 가지고 있었고 그 안에 남겨 두었습니다;) –
은 구두점이 아닌 문자는 제거하지만 문자열의 챕터는 계속 추적합니다.
이 작업을 수행하는 고전적인 방법은 당신이 유지하기 위해 (CAPITULO [0-9]+
를) 싶어 건에 일치하는 것, 또는 (|
) 다른 것들 당신이하지 유지하려는 할 -이 경우, 비 구두점 문자 (\w
)를 가져 와서 캡처 한 다음 빈 문자열로 바꿉니다.
const regexp = /CAPITULO [0-9]+|(\w)/g;
const input = "CAPITULO 22 .#(nonpunctuation characters $%&*'";
const processed = input.replace(regexp, (match, match1) => match1 ? '' : match);
console.log(processed);
당신이 정말로 유지하기 위해 모든 구두점 문자를 나열 할 경우의 위치를 유지하려면, 다음
[^\\?.,:;!¡¿。、·*()[\]\-–_«»'\/@#$&\%\^=+\|<>\"]
으로 위의 \w
교체 남은 문자를 입력 한 다음 교체 기능을
(match, match1) => match1 ? ' ' : match
그는 보존 할 문자의 특정 정규 표현식을 가지고 있습니다. 또한 캐릭터 위치를 보존하기를 원합니다. –
입력 및 출력의 예를 들려 줄 수 있습니까? –
보존 할 특수 구두점 문자가 있습니까? 아니면 영숫자가 아닌 문자를 모두 보존 하시겠습니까? 보존 된 구두점 문자의 위치를 유지하거나, 구두점이 아닌 문자를 공백으로 대체하거나, 결과를 스쿼시하고 싶습니까? –