다음을 통해 공유


Matcher.AppendReplacement 메서드

정의

오버로드

AppendReplacement(StringBuffer, String)

터미널이 아닌 추가 및 바꾸기 단계를 구현합니다.

AppendReplacement(StringBuilder, String)

터미널이 아닌 추가 및 바꾸기 단계를 구현합니다.

AppendReplacement(StringBuffer, String)

터미널이 아닌 추가 및 바꾸기 단계를 구현합니다.

[Android.Runtime.Register("appendReplacement", "(Ljava/lang/StringBuffer;Ljava/lang/String;)Ljava/util/regex/Matcher;", "")]
public Java.Util.Regex.Matcher AppendReplacement (Java.Lang.StringBuffer sb, string replacement);
[<Android.Runtime.Register("appendReplacement", "(Ljava/lang/StringBuffer;Ljava/lang/String;)Ljava/util/regex/Matcher;", "")>]
member this.AppendReplacement : Java.Lang.StringBuffer * string -> Java.Util.Regex.Matcher

매개 변수

sb
StringBuffer

대상 문자열 버퍼

replacement
String

대체 문자열

반환

이 선택기

특성

예외

일치하는 항목이 없으면 입니다.

설명

터미널이 아닌 추가 및 바꾸기 단계를 구현합니다.

이 메서드는 다음 작업을 수행합니다.

<ol>

<리>

추가 위치에서 시작하여 입력 시퀀스에서 문자를 읽고 지정된 문자열 버퍼에 추가합니다. 이전 일치 항목 앞의 마지막 문자, 즉 인덱 #start()스  -의 문자를 읽은 후 중지됩니다. 1.

</리>

<리>

지정된 대체 문자열을 문자열 버퍼에 추가합니다.

</리>

<리>

이 선택기의 추가 위치를 일치하는 마지막 문자의 인덱스 및 일치하는 문자의 인덱스(즉, 1)로 #end()설정합니다.

</리>

</ol>

대체 문자열에는 이전 일치 시 캡처된 하위 시퀀스에 대한 참조가 포함될 수 있습니다. 이름 또는 $g} ${각 발생은 해당 #group(String) group(name) 또는 #group(int) group(g) 각각을 평가한 결과로 바뀝니다. $예를 들어, 첫 번째 숫자는 $ 항상 그룹 참조의 일부로 처리됩니다. 후속 숫자는 법적 그룹 참조를 형성하는 경우 g로 통합됩니다. 숫자 '0'에서 '9'만 그룹 참조의 잠재적 구성 요소로 간주됩니다. 예를 들어 두 번째 그룹이 문자열"foo"과 일치하는 경우 대체 문자열을 전달하면 "foobar" 문자열 "$2bar" 버퍼에 추가됩니다. 달러 기호()는 백슬래시($\$)로 선행하여 대체 문자열에 리터럴로 포함될 수 있습니다.

대체 문자열의 백슬라이시(\) 및 달러 기호($)는 리터럴 대체 문자열로 처리되는 경우와 결과가 다를 수 있습니다. 달러 기호는 위에서 설명한 대로 캡처된 하위 시퀀스에 대한 참조로 처리될 수 있으며, 백슬라이시는 대체 문자열에서 리터럴 문자를 이스케이프하는 데 사용됩니다.

이 메서드는 루프에서 및 #find() find 메서드와 #appendTail(StringBuffer) appendTail 함께 사용됩니다. 예를 들어 다음 코드는 표준 출력 스트림에 씁니다 one dog two dogs in the yard .

<blockquote>

Pattern p = Pattern.compile("cat");
            Matcher m = p.matcher("one cat two cats in the yard");
            StringBuffer sb = new StringBuffer();
            while (m.find()) {
                m.appendReplacement(sb, "dog");
            }
            m.appendTail(sb);
            System.out.println(sb.toString());

</blockquote>

에 대한 java.util.regex.Matcher.appendReplacement(java.lang.StringBuffer, java.lang.String)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상

AppendReplacement(StringBuilder, String)

터미널이 아닌 추가 및 바꾸기 단계를 구현합니다.

[Android.Runtime.Register("appendReplacement", "(Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/util/regex/Matcher;", "", ApiSince=34)]
public Java.Util.Regex.Matcher AppendReplacement (Java.Lang.StringBuilder sb, string replacement);
[<Android.Runtime.Register("appendReplacement", "(Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/util/regex/Matcher;", "", ApiSince=34)>]
member this.AppendReplacement : Java.Lang.StringBuilder * string -> Java.Util.Regex.Matcher

매개 변수

sb
StringBuilder

대상 문자열 작성기

replacement
String

대체 문자열

반환

이 선택기

특성

설명

터미널이 아닌 추가 및 바꾸기 단계를 구현합니다.

이 메서드는 다음 작업을 수행합니다.

<ol>

<리>

추가 위치에서 시작하여 입력 시퀀스에서 문자를 읽고 지정된 문자열 작성기에 추가합니다. 이전 일치 항목 앞의 마지막 문자, 즉 인덱 #start()스  -의 문자를 읽은 후 중지됩니다. 1.

</리>

<리>

지정된 대체 문자열을 문자열 작성기에 추가합니다.

</리>

<리>

이 선택기의 추가 위치를 일치하는 마지막 문자의 인덱스 및 일치하는 문자의 인덱스(즉, 1)로 #end()설정합니다.

</리>

</ol>

대체 문자열은 이전 일치 시 캡처된 하위 시퀀스에 대한 참조를 포함할 수 있습니다. g의 $각 발생은 g) 평가 #group(int) group(결과로 바뀝니다. 이후의 $ 첫 번째 숫자는 항상 그룹 참조의 일부로 처리됩니다. 후속 숫자는 법적 그룹 참조를 형성하는 경우 g로 통합됩니다. 숫자 '0'에서 '9'만 그룹 참조의 잠재적 구성 요소로 간주됩니다. 예를 들어 두 번째 그룹이 문자열"foo"과 일치하는 경우 대체 문자열을 전달하면 "foobar" 문자열 "$2bar" 작성기에서 추가됩니다. 달러 기호()는 백슬래시($\$)로 선행하여 대체 문자열에 리터럴로 포함될 수 있습니다.

대체 문자열의 백슬라이시(\) 및 달러 기호($)는 리터럴 대체 문자열로 처리되는 경우와 결과가 다를 수 있습니다. 달러 기호는 위에서 설명한 대로 캡처된 하위 시퀀스에 대한 참조로 처리될 수 있으며, 백슬라이시는 대체 문자열에서 리터럴 문자를 이스케이프하는 데 사용됩니다.

이 메서드는 루프에서 및 #find() find 메서드와 #appendTail(StringBuilder) appendTail 함께 사용됩니다. 예를 들어 다음 코드는 표준 출력 스트림에 씁니다 one dog two dogs in the yard .

<blockquote>

Pattern p = Pattern.compile("cat");
            Matcher m = p.matcher("one cat two cats in the yard");
            StringBuilder sb = new StringBuilder();
            while (m.find()) {
                m.appendReplacement(sb, "dog");
            }
            m.appendTail(sb);
            System.out.println(sb.toString());

</blockquote>

9에 추가되었습니다.

에 대한 java.util.regex.Matcher.appendReplacement(java.lang.StringBuilder, java.lang.String)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상