Main Content

eraseBetween

시작 지점과 끝 지점 사이에 있는 부분문자열 삭제

설명

예제

newStr = eraseBetween(str,startPat,endPat)str에서 부분문자열 startPatendPat 사이에 있는 문자를 모두 삭제하며, startPatendPat 자체는 삭제하지 않습니다. eraseBetween은 나머지 텍스트를 newStr로 반환합니다.

str이 string형 배열이나 문자형 벡터로 구성된 셀형 배열이면 eraseBetweenstr의 각 요소에 있는 문자를 삭제합니다. 출력 인수 newStrstr과 데이터형이 동일합니다.

예제

newStr = eraseBetween(str,startPos,endPos)str에서 startPos 위치와 endPos 위치에 있는 문자를 포함하여 이들 위치 사이에 있는 문자를 모두 삭제합니다.

예제

newStr = eraseBetween(___,'Boundaries',bounds)는 위에 열거된 구문에 지정된 시작과 끝을 강제로 포함시키거나 제외시킵니다. bounds'inclusive'이면 시작과 끝이 포함되고, bounds'exclusive'이면 제외됩니다. 예를 들어, eraseBetween(str,startPat,endPat,'Boundaries','inclusive')startPatendPat, 그리고 그 사이에 있는 모든 텍스트를 삭제합니다.

예제

모두 축소

string형 배열을 만듭니다. 그런 다음, 부분문자열 사이에 있는 텍스트를 삭제합니다.

str = "The quick brown fox"
str = 
"The quick brown fox"

부분문자열 "quick"" fox" 사이에 있는 텍스트를 삭제합니다. eraseBetween 함수는 텍스트를 삭제하지만 "quick"이나 " fox"는 삭제하지 않습니다.

newStr = eraseBetween(str,"quick"," fox")
newStr = 
"The quick fox"

string형 배열의 각 요소에서 부분문자열을 삭제합니다. 각각 다른 부분문자열을 시작 및 끝 표시자로 지정할 경우, 이러한 부분문자열은 str과 같은 크기의 string형 배열이나 문자형 벡터로 구성된 셀형 배열에 포함시켜야 합니다.

str = ["The quick brown fox jumps";"over the lazy dog"]
str = 2x1 string
    "The quick brown fox jumps"
    "over the lazy dog"

startPos = ["quick";"the"];
endPos = [" fox";" dog"];
newStr = eraseBetween(str,startPos,endPos)
newStr = 2x1 string
    "The quick fox jumps"
    "over the dog"

태그로 묶인 텍스트를 갖는 string형 배열을 만듭니다.

str = ["<courseName>Calculus I</courseName>";
       "<semester>Fall 2020</semester>";
       "<schedule>MWF 8:00-8:50</schedule>"]
str = 3x1 string
    "<courseName>Calculus I</courseName>"
    "<semester>Fall 2020</semester>"
    "<schedule>MWF 8:00-8:50</schedule>"

태그로 묶인 텍스트를 삭제합니다. 먼저 wildcardPattern 함수를 사용하여 임의의 시작 태그 및 종료 태그와 일치하는 패턴을 만듭니다.

startPat = "<" + wildcardPattern + ">"
startPat = pattern
  Matching:

    "<" + wildcardPattern + ">"

endPat = "</" + wildcardPattern + ">"
endPat = pattern
  Matching:

    "</" + wildcardPattern + ">"

그런 다음, eraseBetween 함수를 호출합니다.

newStr = eraseBetween(str,startPat,endPat)
newStr = 3x1 string
    "<courseName></courseName>"
    "<semester></semester>"
    "<schedule></schedule>"

pattern 객체를 만드는 함수 목록은 pattern 항목을 참조하십시오.

string형 배열을 만든 다음, 숫자로 지정된 시작 위치와 끝 위치 사이에 있는 부분문자열을 삭제합니다.

str = "Edgar Allen Poe"
str = 
"Edgar Allen Poe"

부분문자열을 삭제합니다. 중간 이름과 공백 문자 중 하나를 삭제하기 위해 문자열에서 6번째 위치와 11번째 위치를 지정합니다. 삭제되는 부분문자열에 6번째 문자와 11번째 문자가 포함됩니다.

newStr = eraseBetween(str,6,11)
newStr = 
"Edgar Poe"

string형 배열의 각 요소에서 부분문자열을 삭제합니다. 숫자형 배열을 사용하여 각각 다른 시작 위치와 끝 위치를 지정할 경우, 숫자형 배열의 크기는 입력 string형 배열과 동일해야 합니다.

str = ["Edgar Allen Poe";"Louisa May Alcott"]
str = 2x1 string
    "Edgar Allen Poe"
    "Louisa May Alcott"

startsPos = [6;7];
endPos = [11;10];
newStr = eraseBetween(str,startsPos,endPos)
newStr = 2x1 string
    "Edgar Poe"
    "Louisa Alcott"

경계를 강제로 포함하거나 제외하도록 지정하여 string형 배열에서 텍스트를 삭제합니다. 경계를 포함하도록 지정할 경우 eraseBetween은 경계를 삭제합니다. 경계를 제외하도록 지정할 경우 eraseBetween은 경계를 출력 string형 배열에 포함시켜 반환합니다.

str = "small|medium|large"
str = 
"small|medium|large"

6번째 위치와 13번째 위치 사이에 있는 텍스트를 삭제하되, 해당 위치의 문자는 삭제하지 않습니다.

newStr = eraseBetween(str,6,13,'Boundaries','exclusive')
newStr = 
"small||large"

두 부분문자열 사이에 있는 텍스트를 삭제하고, 부분문자열 자체도 삭제합니다.

str = "The quick brown fox jumps over the lazy dog"
str = 
"The quick brown fox jumps over the lazy dog"
newStr = eraseBetween(str," brown","lazy",'Boundaries','inclusive')
newStr = 
"The quick dog"

문자형 벡터를 만든 다음, 시작 위치와 끝 위치 사이에 있는 텍스트를 삭제합니다.

chr = 'mushrooms, peppers, and onions'
chr = 
'mushrooms, peppers, and onions'
newChr = eraseBetween(chr,10,19)
newChr = 
'mushrooms and onions'

부분문자열 사이에 있는 텍스트를 삭제합니다.

newChr = eraseBetween(chr,'mushrooms',' and')
newChr = 
'mushrooms and onions'

입력 인수

모두 축소

입력 텍스트로, string형 배열, 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다.

삭제할 텍스트의 시작 위치를 표시하는 텍스트 또는 패턴으로, 다음 중 하나로 지정됩니다.

  • string형 배열

  • 문자형 벡터

  • 문자형 벡터로 구성된 셀형 배열

  • pattern형 배열

str이 string형 배열이거나 문자형 벡터로 구성된 셀형 배열이면 str의 모든 요소에서 부분문자열을 삭제할 수 있습니다. 부분문자열이 모두 같은 시작 위치를 가진다고 지정하거나 str의 각 요소에서 서로 다른 시작 위치를 가진다고 지정할 수 있습니다.

  • 같은 시작 위치를 지정하려면 startPat를 문자형 벡터, string형 스칼라 또는 pattern 객체로 지정하십시오.

  • 서로 다른 시작 위치를 지정하려면 startPat를 string형 배열, 문자형 벡터로 구성된 셀형 배열 또는 pattern 배열로 지정하십시오.

예: eraseBetween(str,"AB","YZ")str의 각 요소에서 ABYZ 사이에 있는 모든 문자를 삭제합니다.

예: str2×1 string형 배열인 경우 eraseBetween(str,["AB";"FG"],["YZ";"ST"])str(1)에서 ABYZ 사이에 있는 모든 문자를 삭제하고 str(2)에서 FGST 사이에 있는 모든 문자를 삭제합니다.

삭제할 텍스트의 끝 위치를 표시하는 텍스트 또는 패턴으로, 다음 중 하나로 지정됩니다.

  • string형 배열

  • 문자형 벡터

  • 문자형 벡터로 구성된 셀형 배열

  • pattern형 배열

str이 string형 배열이거나 문자형 벡터로 구성된 셀형 배열이면 str의 모든 요소에서 부분문자열을 삭제할 수 있습니다. 부분문자열이 모두 같은 끝 위치를 가진다고 지정하거나 str의 각 요소에서 서로 다른 끝 위치를 가진다고 지정할 수 있습니다.

  • 같은 끝 위치를 지정하려면 endPat를 문자형 벡터, string형 스칼라 또는 pattern 객체로 지정하십시오.

  • 서로 다른 끝 위치를 지정하려면 endPat를 string형 배열, 문자형 벡터로 구성된 셀형 배열 또는 pattern 배열로 지정하십시오.

예: eraseBetween(str,"AB","YZ")str의 각 요소에서 ABYZ 사이에 있는 모든 문자를 삭제합니다.

예: str2×1 string형 배열인 경우 eraseBetween(str,["AB";"FG"],["YZ";"ST"])str(1)에서 ABYZ 사이에 있는 모든 문자를 삭제하고 str(2)에서 FGST 사이에 있는 모든 문자를 삭제합니다.

시작 위치로, 숫자형 배열로 지정됩니다.

str이 string형 배열이거나 문자형 벡터로 구성된 셀형 배열이면 startPosstr과 크기가 같은 숫자형 스칼라 또는 숫자형 배열일 수 있습니다.

예: eraseBetween(str,5,9)str의 각 요소에서 5번째 위치부터 9번째 위치까지의 문자를 모두 삭제합니다.

예: str2×1 string형 배열인 경우 eraseBetween(str,[5;10],[9;21])str(1)에서 5번째 위치부터 9번째 위치까지의 문자를 모두 삭제하고 str(2)에서 10번째 위치부터 21번째 위치까지의 문자를 모두 삭제합니다.

끝 위치로, 숫자형 배열로 지정됩니다.

str이 string형 배열이거나 문자형 벡터로 구성된 셀형 배열이면 endPosstr과 크기가 같은 숫자형 스칼라 또는 숫자형 배열일 수 있습니다.

예: eraseBetween(str,5,9)str의 각 요소에서 5번째 위치부터 9번째 위치까지의 문자를 모두 삭제합니다.

예: str2×1 string형 배열인 경우 eraseBetween(str,[5;10],[9;21])str(1)에서 5번째 위치부터 9번째 위치까지의 문자를 모두 삭제하고 str(2)에서 10번째 위치부터 21번째 위치까지의 문자를 모두 삭제합니다.

경계 동작으로, 'inclusive' 또는 'exclusive'로 지정됩니다. 경계 동작이 inclusive인 경우 삭제되는 텍스트에 위에 열거된 인수로 지정된 시작과 끝이 포함됩니다. 경계 동작이 exclusive인 경우 시작과 끝이 포함되지 않습니다.

출력 인수

모두 축소

출력 텍스트로, string형 배열, 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열로 반환됩니다. strnewStr은 데이터형이 동일합니다.

확장 기능

버전 내역

R2016b에 개발됨