Pascal에서는 문자열의 일부(하위 문자열)를 선택할 수 있습니다. 이를 위해 복사 작업이 사용됩니다.
작업의 일반적인 형식은 다음과 같습니다.
<예비>
s1 := 복사(들, 인덱스, 카운트);
이 명령은 문자열 s 에서 길이 계수 인덱스 인덱스의 문자에서 시작하는 슬라이스를 가져옵니다.
예를 들어,
<예비>
s1 := 복사(s, 3, 5);
index가 문자열의 길이보다 크면 빈 문자열이 반환됩니다. index에서 시작하는 count 문자가 문자열의 길이보다 길면 index에서 시작하여 끝나는 문자열 s가 반환됩니다.
문자열을 뒤집는 것이 얼마나 쉬운지는 다음과 같습니다.
<예비>
s := '0123456789';;
s1 := reverseString(s); // s1 = '0123'
|
문자열의 일부를 삭제하려면 delete(s, firstIndex, count) 메서드를 사용해야 합니다. 이 메서드는 부터 시작하여 문자열 s에서 count 문자를 제거합니다. 첫 번째 인덱스
<예비>
s := '0123456789';;
삭제(들, 4, 6); // s1="0129"
문자열의 일부를 복사하려면 copy(s, index, count) 메서드를 사용할 수 있습니다. 이 메서드는 인덱스 index에서 시작하여 문자열 s의 일부를 반환합니다. strong> 및 길이 개수
<예비>
에스 := '123456789'
s1 := 복사(s, 3, 4); // s1 = '3456'
|
Pascal에는 문자열 작업을 위한 많은 루틴이 있습니다. 대부분은 점 표기법을 사용하여 호출되며 메서드라고 합니다. 문자열 조작 방법의 전체 목록은 온라인에서 찾을 수 있습니다.
그들 중 일부에 대해 알아 봅시다.
<예비>
s := 'aAbBcC'
sUp := 대문자; // sUp = "AABBCC"; - 문자열의 각 문자를 대문자로 변환하는 메소드
sLow := 소문자 // sLow = "aabbcc"; - 문자열의 각 문자를 소문자로 변환하는 메서드
메서드는 항상 괄호로 작성됩니다. 필요한 경우 괄호 안에 몇 가지 매개 변수가 있습니다.
또 다른 유용한 방법 - val(s, v, ind) - 문자열의 모든 문자가 숫자인지 확인하는 방법. s - 소스 문자열, v는 소스 문자열이 숫자인 경우 숫자를 포함하고 그렇지 않은 경우 0을 포함합니다. ind는 첫 번째 < strong> index s는 숫자가 아니며, s 가 숫자이면 0입니다.
<예비>
에스 := 'ab1c'
val(s, v, ind);
writeln(v, ' ', ind); // 0 3
에스 := '123';
val(s, v, ind);
w(vriteln, ' ', ind); // 123 0
유용한 trim(s) - 방법을 사용하면 문자열의 시작과 끝에서 공백을 제거할 수 있습니다.
<예비>
에스 := ' ab 1c ';
print('s=', trim(s)); // s=ab 1c
|
파스칼에서 문자열 내에서 검색하려면 pos() 메서드를 사용하세요.
문자열에서 하위 문자열이 처음 나타나는 인덱스를 반환합니다.
pos(originalString, smallString) - originalString smallString 에서 찾습니다.
하위 문자열을 찾을 수 없으면 메서드는 0을 반환합니다.
<예비>
환영합니다 := '안녕하세요! 안녕 세상!';
index := pos(welcome, 'wor');
writeln(인덱스); // 7
index := pos(welcome, 'sun');
writeln(인덱스); // 0
참고: 이 방법은 발생 횟수를 찾지 않고 문자열에 그러한 하위 문자열이 있는지 여부만 결정합니다. .
|
Pascal에서 하나의 하위 문자열을 문자열의 다른 하위 문자열로 바꾸려면 stringReplace(): 메서드를 사용하세요.
stringReplace(original, old, new, flag): originalString 하위 문자열 old 는 다음에 교체됩니다. new, 플래그 는 rfReplaceAll 또는 rfIgnoreCase, 값 중 하나입니다. 대괄호 안에 적었습니다. 첫 번째 경우에는 모든 old 가 originalString으로, 두 번째 경우에는 첫 번째만 발생합니다.
파스칼 문자열 대체 예:
<예비>
전화 = '+1-234-567-89-10'
// 하이픈은 공백으로 변경
edit_phone := stringreplace(전화, '-', ' ', [rfReplaceAll]);
writeln(edited_phone); // +1 234 567 89 10
// 하이픈 제거
edit_phone := stringreplace(전화, '-', '', [rfReplaceAll]);
writeln(edited_phone); // +12345678910
// 첫 번째 대시만 변경
edit_phone := replace(전화, '-', '', [rfIgnoreCase]);
writeln(edited_phone); // +1234-567-89-10
|