프로그래밍 언어(문자열 함수) 비교

Comparison of programming languages (string functions)

문자열 함수문자열을 조작하거나 문자열에 대한 정보를 쿼리하기 위해 컴퓨터 프로그래밍 언어에서 사용된다.

문자열 데이터 형식이 있는 대부분의 프로그래밍 언어에는 문자열을 직접 처리할 수 있는 다른 낮은 수준의 방법이 있을 수 있지만 문자열 기능이 있을 것이다. 객체 지향 언어에서 문자열 함수는 문자열 객체의 속성 및 방법으로 구현되는 경우가 많다. 기능 및 목록 기반 언어에서 문자열은 (문자 코드의) 목록으로 표시되므로, 모든 목록 조작 절차는 문자열 함수로 간주될 수 있다. 그러나 그러한 언어는 명시적 문자열 특정 함수의 하위 집합도 구현할 수 있다.

문자열을 조작하는 기능의 경우, C#, 자바와 같은 현대의 객체 지향 언어는 불변 문자열을 가지고 있어 사본(새로 할당된 동적 메모리에서)을 반환하는 반면, C와 같은 언어는 프로그래머가 데이터를 새로운 문자열에 복사하지 않는 한 원래의 문자열을 조작한다. 아래 연결 예제를 참조하십시오.

문자열 함수의 가장 기본적인 예는 length(string) 기능을 하다 이 함수는 문자열 리터럴의 길이를 반환한다.

예) length("hello world") 11시에 돌아올거야

다른 언어는 유사한 구문이나 매개변수 또는 결과가 정확하게 동일한 문자열 함수를 가질 수 있다. 예를 들어, 많은 언어에서 길이 함수는 보통 len(string)으로 표현된다. 아래의 공통 기능 목록은 이러한 혼동을 제한하는데 도움이 되는 것을 목적으로 한다.

공통 문자열 함수(다중 언어 참조)

여러 언어에 공통적인 문자열 함수는 사용 중인 다른 이름을 포함하여 아래에 나열되어 있다. 아래의 공통 기능 목록은 프로그래머들이 언어에서 동등한 기능을 찾을 수 있도록 돕는 것을 목적으로 한다. 참고, 문자열 연결정규식은 별도의 페이지에서 처리한다. Guillemets (문서 … »)의 문구는 선택 사항이다.

차랏

정의 charAt(string,integer) 인격을 돌려주다
설명 문자열의 인덱스에서 문자를 반환한다.
등가 1자 길이의 하위 문자열을 참조하십시오.
포맷 언어들 기준지수
string[i] ALGOL 68, APL, 줄리아, 파스칼, 오브젝트 파스칼(델피), 시드7 1
string[i] C, C++, C#, 코브라, D, FreeBASIC, Go, Python,[1] PHP, Ruby,[1] Windows PowerShell, JavaScript, APL 0
string{i} PHP(5.3에서 사용 안 함) 0
string(i) 에이다 ≥1
Mid(string,i,1) VB 1
MID$(string,i,1) 기본 1
string.Chars(i) VB.NET 0
string(i:i) 포트란 1
string.charAt(i) 자바, 자바스크립트 0
string.[i] OCaml, F# 0
string.chars().nth(i) [2] 0
string[i,1] 기본 선택 1
String.sub (string, i) 표준 ML 0
string !! i 하스켈 0
(string-ref string i) 계략 0
(char string i) 커먼 리스프 0
(elt string i) ISLISP 0
(get string i) 클로저 0
substr(string, i, 1) 펄 5[1] 0
substr(string, i, 1)
string.substr(i, 1)
라쿠[3] 0
substr(string, i, 1) PL/I 1
string.at(i) C++(STL)(경계 검사 포함) 0
lists:nth(i, string) 얼랑 1
[string characterAtIndex:i] 목표-C (NSString * 오직 0
string.sub(string, i, i)
(string):sub(i, i)
루아[1] 1
string at: i 스몰토크(한계 검사 미포함) 1
string index string i Tcl 0
StringTake[string, {i}] 매스매티카, 울프람어[1] 1
string@i 에펠 1
string (i:1) 코볼 1
istring APL 0 또는 1
{ Pascal }의 예 시합을 하다    마이스트: 끈을 매다 = '안녕, 월드';   마이차: 차르; 시작되다   마이차 := 마이스트[2];          // 'e' 
# ALGOL 68의 예시 # "안녕, 세계"[2]; // 'e' 
// C의 예 #include <stdio.h>             // 인쇄용 마를 뜨다 마이스트[] = "안녕, 월드"; 활자화하다("%c", *(마이스트+1));      // 'e' 활자화하다("%c", *(마이스트+7));      // 'W' 활자화하다("%c", 마이스트[11]);       // 'd' 활자화하다("%s", 마이스트);           // '안녕, 세상' 활자화하다("%s", "안녕(2), 월드(2)"); // '안녕(2), 월드(2)' 
// C++의 예 #include <아이오스트림>            // "cout"의 경우 #include < 현악기>h>            // "문자열" 데이터 유형 사용. 네임스페이스 찌꺼기; 마를 뜨다 마이스트1[] = "안녕(1) 월드(1)"; 끈을 매다 마이스트2 = "안녕(2), 월드(2)"; 뻐드렁니가 나다 << "안녕(3), 월드(3)";  // '안녕(3), 월드(3)' 뻐드렁니가 나다 << 마이스트2[6];             // '2' 뻐드렁니가 나다 << 마이스트1.기판을 달다 (5, 3);  // '(1)' 
// C#의 예 "안녕, 월드"[2];             // 'l' 
# 펄 5의 예 기판을 달다("안녕, 월드", 1, 1);  # 'e' 
# 파이썬의 예 "안녕, 월드"[2]              # 'l' "안녕, 월드"[-3]             # 'r' 
# 라쿠의 예시 "안녕, 세계".지하철(1,1); # 'e' 
' Visual Basic의 예 중앙의("안녕, 월드",2,1) 
'Visual Basic의 예.네트 "안녕, 월드".차르스(2)    'l'c 
"Smalltalk의 예" '안녕, 월드' 다음 날짜: 2.        "$e" 
//녹의 예 "안녕, 월드".마차().n번째(2);   // 일부('l') 

비교(정수 결과)

정의 compare(string1,string2) 정수를 반환하다
설명 두 줄을 서로 비교한다. 만약 그것들이 같다면, 0이 반환된다. 그렇지 않으면 대부분의 이러한 루틴은 문자열이12 문자열보다 각각 큰지 또는 작은지에 해당하는 양의 또는 음의 결과를 반환한다. 첫 번째 불일치의 인덱스를 반환하는 Scheme 및 Rexx 루틴과 수신기가 문자열 파라미터에 따라 정렬하는 방법을 알려주는 비교 코드에 응답하는 Smalltalk는 예외다.
포맷 언어들
IF string1<string2 THEN -1 ELSE ABS (string1>string2) FI 알골 68
cmp(string1, string2) 파이톤 2
(string1 > string2) - (string1 < string2) 파이톤
strcmp(string1, string2) C, PHP
std.string.cmp(string1, string2) D
StrComp(string1, string2) VB, Object Pascal(Delphi)
string1 cmp string2 , 라쿠
string1 compare: string2 스몰토크 (스퀘이크, 파로)
string1 <=> string2 루비, C++(STL, C++20)[4]
string1.compare(string2) C++(STL), Swift(파운데이션)
compare(string1, string2) 렉스, 씨드7
CompareStr(string1, string2) 파스칼, 오브젝트 파스칼 (델피)
string1.compareTo(string2) 코브라, 자바
string1.CompareTo(string2) VB .NET, C#, F#
(compare string1 string2) 클로저
(string= string1 string2) 커먼 리스프
(string-compare string1 string2 p< p= p>) 스키마(SRFI 13)
(string= string1 string2) ISLISP
compare string1 string2 OCAML
String.compare (string1, string2) 표준 ML[5]
compare string1 string2 하스켈[6]
[string]::Compare(string1, string2) Windows PowerShell
[string1 compare:string2] 목표-C (NSString * 오직
LLT(string1,string2)
LLE(string1,string2)
LGT(string1,string2)
LGE(string1,string2)
포트란[7]
string1.localeCompare(string2) 자바스크립트
bytes.Compare([]byte(string1), []byte(string2)) 가다
string compare ?-nocase? ?-length int? string1 string2 Tcl
compare(string1,string2,count) PL/I[8]
string1.cmp(string2) [9]
# 펄 5의 예 "안녕" cmp "세계";       # 반품 -1 
# 파이썬의 예 cmp("안녕", "세계")      # 반품 -1 
# 라쿠 "헬로" cmp "월드" 예, # 복귀 "월드" cmp "헬로"; # 복귀 "헬로" 더 많은 "헬로" cmp "헬로"; # 복귀 "동일하게" 
/*** Rexx */의 예  비교하다("안녕", "세계")  /* 불일치 지수 반환: 1 */ 
; 구성표 예 (중고품인 (srfi srfi-13)) ; 불일치 인덱스 반환: 0 (현악기의 "안녕" "세계" 가치 가치 가치) 

비교(관계 연산자 기반, 부울 결과)

정의 string1 OP string2 OR (compare string1 string2) 부울 반환.
설명 관계 연산자 또는 함수를 사용하여 사전 통계학적으로 두 문자열을 비교한다. 부울 결과가 반환됨
포맷 언어들
string1 OP string2, where OP 에 속할 수 있다 =, <>, <, >, <= 그리고 >= Pascal, Object Pascal (Delphi), OCaml, Seed7, Standard ML, BASIC, VB, VB.NET, F#
string1 OP string2, where OP 에 속할 수 있다 =, /=, ≠, <, >, <=, ≤ 그리고 ; 또한: EQ, NE, LT, LE, GE 그리고 GT 알골 68
(stringOP? string1 string2), where OP 에 속할 수 있다 =, -ci=, <, -ci<, >, -ci>, <=, -ci<=, >= 그리고 -ci>= ('부터 시작)-ci'은(는) 대/소문자를 구분함) 계략
(stringOP string1 string2), where OP 에 속할 수 있다 =, -ci=, <>, -ci<>, <, -ci<, >, -ci>, <=, -ci<=, >= 그리고 -ci>= ('부터 시작)-ci'은(는) 대/소문자를 구분함) 스키마(SRFI 13)
(stringOP string1 string2), where OP 에 속할 수 있다 =, -equal, /=, -not-equal, <, -lessp, >, -greaterp, <=, -not-greaterp, >= 그리고 -not-lessp (언어 운영자는 대소문자를 구분함) 커먼 리스프
(stringOP string1 string2), where OP 에 속할 수 있다 =, /=, <, >, <=, 그리고 >= ISLISP
string1 OP string2, where OP 에 속할 수 있다 =, \=, <, >, <= 그리고 >= 렉시
string1 OP string2, where OP 에 속할 수 있다 =, ¬=, <, >, <=, >=, ¬< 그리고 ¬> PL/I
string1 OP string2, where OP 에 속할 수 있다 =, /=, <, >, <= 그리고 >= 에이다
string1 OP string2, where OP 에 속할 수 있다 ==, /=, <, >, =< 그리고 >= 얼랑
string1 OP string2, where OP 에 속할 수 있다 ==, /=, <, >, <= 그리고 >= 하스켈
string1 OP string2, where OP 에 속할 수 있다 eq, ne, lt, gt, le 그리고 ge , 라쿠
string1 OP string2, where OP 에 속할 수 있다 ==, !=, <, >, <= 그리고 >= C++(STL), C#, D, Go, JavaScript, Python, PHP, Ruby, Rust,[10] Swift
string1 OP string2, where OP 에 속할 수 있다 -eq, -ceq, -ne, -cne, -lt, -clt, -gt, -cgt, -le, -cle, -ge, 그리고 -cge ('부터 시작)c'은(는) 대소문자를 구분함) Windows PowerShell
string1 OP string2, where OP 에 속할 수 있다 ==, ~=, <, >, <= 그리고 >= 루아
string1 OP string2, where OP 에 속할 수 있다 =, ~=, <, >, <= 그리고 >= 스몰토크
string1 OP string2, where OP 에 속할 수 있다 ==, /=, <, >, <= 그리고 >=; Also: .EQ., .NE., .LT., .LE., .GT. 그리고 .GE. 포트란.[11]
string1 OP string2 , where OP 에 속할 수 있다 =, <>, <, >, <=, >= 단어와 동등한 것. 코볼
string1 OP string2 , where OP 에 속할 수 있다 ==, <>, <, >, <= 그리고 >= 코브라
string1 OP string2 구문에서는 사용할 수 있지만 문자열 내용이 아닌 문자열을 가리키는 포인터의 비교를 의미한다. 비교(정수 결과) 함수를 사용하십시오. C, 자바
string1.METHOD(string2) , where METHOD 의 어느 하나 eq, ne, gt, lt, ge, le [10]
Erlang의 % 예제 "안녕" > "세계".            %는 거짓을 반환함 
# 라쿠 "아트" gt "페인팅"의 예, # 반환 거짓 "아트" lt "페인팅"; # 반환 True 
# Windows PowerShell의 예 "안녕" -gt "세계"           # 거짓을 돌려주다. 
;;; 공통 리스피의 예 (끈 > "예술" "painting")      ; 영을 반환하다. (끈을 매다 "예술" "painting")      ; non nil을 반환한다. 

연결

정의 concatenate(string1,string2) 문자열을 반환하다
설명 두 개의 문자열을 서로 연결(조인)하여 결합된 문자열을 반환한다. C와 같은 일부 언어에는 변이 가능한 문자열이 있으므로 실제로 두 번째 문자열이 첫 번째 문자열에 추가되고 변이된 문자열이 반환된다는 점에 유의하십시오.
포맷 언어들
string1 & string2 에이다, FreeBASIC, Seed7, BASIC, VB, VB.NET, COBOL(리터간에만 해당)
strcat(string1, string2) C, C++ (char * 오직[12]
string1 . string2 , PHP
string1 + string2 ALGOL 68, C++(STL), C#, 코브라, FreeBASIC, Go, Pascal, Object Pascal (Delphi), Java, JavaScript, Windows PowerShell, Python, Ruby, Rust,[13] F#, Swift, Turing, VB
string1 ~ string2 D, 라쿠
(string-append string1 string2) Scheme, ISLISP
(concatenate 'string string1 string2) 커먼 리스프
(str string1 string2) 클로저
string1 string2 Rexx, SQL, PL/I
string1 // string2 포트란
string1 ++ string2 얼랑, 하스켈
string1 ^ string2 OCaml, Standard ML, F#
[string1 stringByAppendingString:string2] 목표-C (NSString * 오직
string1 .. string2 루아
string1 , string2 스몰토크, APL
string1 string2 속물
string1string2 바쉬 셸
string1 <> string2 매스매티카
연결2 문자열1 Tcl
{ Pascal }의 예 'abc' + 'def';      // "dvddef" 반환 
// C#의 예 "abc" + "def";      // "dvddef" 반환 
' Visual Basic의 예 "abc" & "def"       ' returns "dvdef" "abc" + "def"       ' returns "dvdef" "abc" & Null        '이(가) "반품"을 반환함 "abc" + Null        ' 반환 Null 
// D의 예 "abc" ~ "def";      // "dvddef" 반환 
;; 공통 리스의 예 (결합시키다 '끈' "abc" "def " "기")  ; "discret def ghi"를 반환한다. 
# 펄 5의 예 "abc" . "def";      # "dvdef" 반환 "펄." . 5;        # "Perl 5" 반환 
# 라쿠 "abc" ~ "def"의 예, #은 "abcdef"를 반환한다 "Perl " ~ 6; #는 "raku"를 반환한다. 

포함하다

정의 contains(string,substring) 부울 반환
설명 문자열에 하위 문자열을 하위 문자열로 포함할지 여부를 반환한다. 이것은 Find를 사용한 다음 Find 섹션의 세 번째 열에 나열된 고장 조건을 초래하지 않음을 감지하는 것과 같다. 그러나, 일부 언어들은 이 테스트를 표현하는 더 간단한 방법을 가지고 있다.
관련 찾다
포맷 언어들
string_in_string(string, loc int, substring) 알골 68
ContainsStr(string, substring) 객체 Pascal(델피)
strstr(string, substring) != NULL C, C++ (char * 오직
string.Contains(substring) C#, VB.NET, Windows PowerShell, F#
string.contains(substring) 코브라, 자바(1.5+), 라쿠, 러스트,[14] C++(C++23)[15]
string.indexOf(substring) >= 0 자바스크립트
strpos(string, substring) !== false PHP
str_contains(string, substring) PHP(8+)
pos(string, substring) <> 0 씨드7
substring in string 코브라, 파이톤(2.3+)
string.find(string, substring) ~= nil 루아
string.include?(substring) 루비
Data.List.isInfixOf substring string 하스켈(GHC 6.6+)
string includesSubstring: substring 스몰토크(스퀘이크, 파로, 스몰토크/X)
String.isSubstring substring string 표준 ML
(search substring string) 커먼 리스프
(not (null (string-index substring string))) ISLISP
(substring? substring string) 클로저
! StringFreeQ[string, substring] 매스매티카
index(string, substring, startpos)>0 포트란, PL/I[16]
index(string, substring, occurrence)>0 기본 선택
strings.Contains(string, substring) 가다
string.find(substring) != string::npos C++
[string containsString:substring] 목표-C (NSString * iOS 8+/OS X 10.10+만 해당)
string.rangeOfString(substring) != nil 스위프트(건국)
∨/substringstring APL
¢ ALGOL 68 68 문자열의 예("e", loc int, "Hello mate"), ¢ true ¢ string in string in string("z", loc int, "word"); ¢ true ¢ tring false ¢ 
// C#의 예 "헬로 메이트".포함하다("e");      // true 반환 "단어".포함하다("z");            // 거짓 반환 
# 파이썬의 예 "e"  "헬로 메이트"              # 참으로 돌아온다 "z"  "단어"                    # 거짓을 돌려주다. 
# 라쿠의 예시 "굿모닝!".contents('z') #false "buenos dias!".contents('i'); # returns True 
"Smalltalk의 예" '헬로메이트' 포함서브스트링: 'e'  " returns true " '단어' 포함서브스트링: 'z'        "가짜를 반환하다" 

평등

두 줄이 같은지 테스트한다. #Compare#Compare를 참조하십시오. 일반적인 정수 비교 결과를 통해 동등성 검사를 하는 것은 프로그래머에게 혼란스러울 뿐만 아니라 종종 훨씬 더 비싼 작업이라는 점에 유의하십시오. 이것은 "C 스트링"을 사용할 때 특히 사실이다.

포맷 언어들
string1 == string2 파이톤, C++(STL), C#, 코브라, 고, 자바스크립트(유사성), PHP(유사성), 루비, 러스트,[10] 얼랑, 하스켈, 루아, D, 마티카, 스위프트
string1 === string2 자바스크립트, PHP
string1 == string2 or
string1 .EQ. string2
포트란
strcmp(string1, string2) == 0 C
(string=? string1 string2) 계략
(string= string1 string2) Common Lisp, ISLISP
string1 = string2 ALGOL 68, Ada, Object Pascal (Delphi), OCaml, Pascal, Rexx, Seed7, Standard ML, BASIC, VB, VB.Net, F#, Smalltalk, PL/I, COBOL
test string1 = string2, or
[ string1 = string2 ]
본 셸
string1 eq string2 , 라쿠
string1.equals(string2) 코브라, 자바
string1.Equals(string2) C#
string1 -eq string2, or
[string]::Equals(string1, string2)
Windows PowerShell
[string1 isEqualToString:string2], or
[string1 isEqual:string2]
목표-C (NSString * 오직
string1string2 APL
string1.eq(string2) [10]
// C#의 예 "안녕" == "세계"           // 거짓 반환 
' Visual Basic의 예 "안녕" = "세계"            '가짜를 반환하다 
# Perl 5의 예 '여보세요' eq '세계'           # 리턴스 0 '여보세요' eq '여보세요'           # 돌아온다 1 
# 라쿠의 예 '여보세요' eq '세계'           # 거짓을 돌려주다. '여보세요' eq '여보세요'           # 참으로 돌아온다 
# Windows PowerShell의 예 "안녕" -eq "세계"          # 거짓을 돌려주다. 
∘APL의 예 '여보세요'  '세계'          ⍝ 반환 0 


찾다

정의 find(string,substring) 정수를 반환하다
설명 문자열에서 하위 문자열이 처음 발생하는 시작 위치를 반환한다. 이러한 루틴의 대부분을 찾을 수 없는 경우, 잘못된 인덱스 값 -1은 인덱스가 0 기반인 경우, 0은 1 기반인 경우 - 또는 일부 값은 Boolean FALSE로 해석된다.
관련 선동하다
포맷 언어들 찾을 수 없는 경우
string in string(substring, pos, string[startpos:]) 알골 68 BOOL을 반환한다. TRUE 또는 FALSE. 그리고 REF INT pos에 위치한다.
InStr(«startposstring,substring) VB(1부터 시작) 0을 반환하다
INSTR$(string,substring) 기본(1부터 시작) 0을 반환하다
index(string,substring) AWK 0을 반환하다
index(string,substring«,startpos») 펄 5 반품 -1
index(string,substring«,startpos»)
string.index(substring,«,startpos»)
라쿠 닐을 돌려주다
instr(«startposstring,substring) 프리베이직 0을 반환하다
strpos(string,substring«,startpos») PHP FALSE를 반환하다
locate(string, substring) 잉그레스 문자열 길이 + 1 반환
strstr(string, substring) C, C++ (char * only, pointer를 첫 번째 문자로 되돌림) NULL을 반환
std.string.indexOf(string, substring) D 반품 -1
pos(string, substring«, startpos») 씨드7 0을 반환하다
strings.Index(string, substring) 가다 반품 -1
pos(substring, string) 파스칼, 오브젝트 파스칼 (델피) 0을 반환하다
pos(substring, string«,startpos») 렉시 0을 반환하다
string.find(substring«,startpos») C++(STL) 반환 std::string::npos
string.find(substring«,startpos«,endpos»») 파이톤 반품 -1
string.index(substring«,startpos«,endpos»») ValueError 상승
string.index(substring«,startpos») 루비 영을 내리다
string.indexOf(substring«,startpos») 자바, 자바스크립트 반품 -1
string.IndexOf(substring«,startpos«, charcount»») VB .NET, C#, 윈도우즈 PowerShell, F# 반품 -1
string:str(string, substring) 얼랑 0을 반환하다
(string-contains string substring) 스키마(SRFI 13) #f를 돌려주다.
(search substring string) 커먼 리스프 NIL을 반환하다
(string-index substring string) ISLISP 돌아온다 nil
List.findIndex (List.isPrefixOf substring) (List.tails string) Haskell (Returns Just 인덱스) 아무 것도 반환하지 않음
Str.search_forward (Str.regexp_string substring) string 0 OCAML 상승 없음_found
Substring.size (#1 (Substring.position substring (Substring.full string))) 표준 ML 문자열 길이 반환
[string rangeOfString:substring].location 목표-C (NSString * 오직 NSNotFound 반환
string.find(string, substring)
(string):find(substring)
루아 영을 내리다
string indexOfSubCollection: substring startingAt: startpos ifAbsent: aBlock
string findString: substring startingAt: startpos
스몰토크 (스퀘이크, 파로) 블록 폐쇄(또는 모든 객체 이해 값)인 블록 평가
0을 반환하다
startpos = INDEX(string, substring «,back» «, kind») 포트란 하위 문자열이 문자열에 없으면 0을 반환하고, 하위 문자열이 비어 있으면 LEN(string)+1을 반환한다.
POSITION(substring IN string) SQL 리턴스 0(1에서 시작
index(string, substring, startpos ) PL/I[16] 리턴스 0(1에서 시작
index(string, substring, occurrence ) 기본 선택 하위 문자열 발생이 문자열에 없는 경우 0을 반환함(1에서 시작)
string.indexOf(substring«,startpos«, charcount»») 코브라 반품 -1
string first substring string startpos Tcl 반품 -1
(substringstring)⍳1 APL 문자열의 마지막 위치 1 + 반환
string.find(substring) [17] 답례품
; Common Lisp의 예 (샅샅이 뒤지다 "e" "헬로 메이트")             ; 1을 반환한다. (샅샅이 뒤지다 "z" "단어")                   ; NIL 반환 
// C#의 예 "헬로 메이트".IndexOf("e");            // 반환 1 "헬로 메이트".IndexOf("e", 4);         // 9를 반환함 "단어".IndexOf("z");                  // 반환 -1 
# 라쿠의 예시 "여보세요, 저기!"지수('e') ##는 1 "여보세요, 저기!"를 반환한다.인덱스('z') # 닐 반환 
; 구성표 예제 (중고품인 (srfi srfi-13)) (현악기의 "헬로 메이트" "e")    ; 1을 반환한다. (현악기의 "단어" "z")          ; #f를 반환한다. 
' Visual Basic의 예 인스트("헬로 메이트", "e")              ' 반환 2 인스트(5, "헬로 메이트", "e")           ' 10을 반환하다 인스트("단어", "z")                    '이 반환 0 
" Examples in Smalltalk " 'Hello mate' indexOfSubCollection:'ate' "returns 8" 'Hello mate' indexOfSubCollection:'late' "returns 0" I'Hello mate' indexOfSubCollection:'late' ifAbsent:[ 99 ]                      "returns 99" 'Hello mate' indexOfSubCollection:'late' ifAbsent:[ self error ]              "raises an exception" 


캐릭터 찾기

정의 find_character(string,char) 정수를 반환하다
설명 문자열에서 문자열이 처음 나타나는 시작 위치를 반환한다. 이러한 루틴의 대부분을 찾을 수 없는 경우, 인덱스가 0 기반인 경우 -1, 1 기반인 경우 0 등 잘못된 인덱스 값을 반환하거나 부울 FALSE로 해석할 일부 값을 반환한다. 이것은 #Find의 특별한 경우로서, 한 문자의 문자열로 이루어질 수 있지만, 한 문자만을 찾는 것이 여러 언어에서 더 간단하거나 더 효율적일 수 있다. 또한 많은 언어에서 문자와 문자열은 종류가 다르기 때문에 그런 기능을 갖는 것이 편리하다.
관련 찾아내다
포맷 언어들 찾을 수 없는 경우
char in string(char, pos, string[startpos:]) 알골 68 BOOL을 반환한다. TRUE 또는 FALSE. 그리고 REF INT pos에 위치한다.
instr(string, any char«,startpos») (char, 한 자를 더 포함할 수 있으며, 이 경우 첫 번째 등장인물의 위치가 반환된다.) 프리베이직 0을 반환하다
strchr(string,char) C, C++ (char * 전용, 문자로 포인터 반환) NULL을 반환
std.string.find(string, dchar) D 반품 -1
string.find(char«,startpos») C++(STL) 반환 std::string::npos
pos(string, char«, startpos») 씨드7 0을 반환하다
strings.IndexRune(string,char) 가다 반품 -1
string.indexOf(char«,startpos») 자바, 자바스크립트 반품 -1
string.IndexOf(char«,startpos«, charcount»») VB .NET, C#, 윈도우즈 PowerShell, F# 반품 -1
(position char string) 커먼 리스프 NIL을 반환하다
(char-index char string) ISLISP 돌아온다 nil
List.elemIndex char string 하스켈 (귀국) Just index) 돌아온다 Nothing
String.index string char OCAML 상승 없음_found
position = SCAN (string, set «, back» «, kind») or
position = VERIFY (string, set «, back» «, kind»)[a]
포트란 0을 반환하다
string indexOf: char ifAbsent: aBlock
string indexOf: char
string includes: char
스몰토크 평가하다 aBlock 어느 것이 a이다. BlockClosure (또는 모든 객체 이해 값)
0을 반환하다
돌아온다 true 또는 false
index(string, char, startpos ) PL/I[18] 리턴스 0(1에서 시작
string.index(?char) 루비 영을 내리다
strpos(string,char,startpos) PHP 돌아온다 false
string.indexOf(char«,startpos«, charcount»») 코브라 반품 -1
stringchar APL 문자열의 마지막 위치 1 + 반환
string.find(substring) [17] 답례품
// C#의 예 "헬로 메이트".IndexOf('e');              // 반환 1 "단어".IndexOf('z')                     // 반환 -1 
; Common Lisp의 예 (위치를 정하다 #\e "헬로 메이트")             ; 1을 반환한다. (위치를 정하다 #\z "단어")                   ; NIL 반환 

^a 일련의 문자를 지정하면 SCAN은 발견된 첫 번째 문자의 위치를 반환하고 [19]VERIFILE은 세트에 속하지 않는 첫 번째 문자의 위치를 반환한다.[20]

포맷

정의 format(formatstring, items) 문자열을 반환하다
설명 하나 이상의 항목에 대해 형식화된 문자열 표현 반환.
포맷 언어들 형식 문자열 구문
associate(file, string); putf(file, $formatstring$, items) 알골 68 알골
Format(item, formatstring) VB
sprintf(formatstring, items) , PHP, 라쿠, 루비 C
item.fmt(formatstring) 라쿠 C
io_lib:format(formatstring, items) 얼랑
sprintf(outputstring, formatstring, items) C C
std::format(formatstring, items) C++(C++20) 파이톤
std.string.format(formatstring, items) D C
Format(formatstring, items) 객체 Pascal(델피)
fmt.Sprintf(formatstring, items) 가다 C
printf -v outputstring formatstring items 바쉬 셸 C
formatstring % (items) 파이톤, 루비 C
formatstring.format(items) 파이톤 .NET
fformatstring 파이톤 3
Printf.sprintf formatstring[21] items OCaml, F# C
Text.Printf.printf formatstring items 하스켈(GHC) C
formatstring printf: items 스몰토크 C
String.format(formatstring, items) 자바 C
String.Format(formatstring, items) VB .NET, C#, F# .NET
(format formatstring items) 스키마(SRFI 28) 리스프
(format nil formatstring items) 커먼 리스프 리스프
(format formatstring items) 클로저 리스프
formatstring -f items Windows PowerShell .NET
[NSString stringWithFormat:formatstring, items] 목표-C (NSString * 오직 C
String(format:formatstring, items) 스위프트(건국) C
string.format(formatstring, items)
(formatstring):format(items)
루아 C
WRITE (outputstring, formatstring) items 포트란 포트란
put string(string) edit(items)(format) PL/I PL/I(포트란과 유사)
String.format(formatstring, items) 코브라 .NET
format formatstring items Tcl C
formatnumbersitems 또는 formatstring ⎕FMT items APL APL
format!(formatstring, items) [22] 파이톤
// C#의 예 .포맷("내 {0} 비용은 {1:C2}", "펜", 19.99); // "내 펜은 19.99달러"를 반환한다. 
// Object Pascal(Delphi)의 예 포맷('내 %s 비용은 $%2f', ['펜', 19.99]);         // "내 펜은 19.99달러"를 반환한다. 
// Java의 예 .형식을 갖추다("내 %s 비용은 $%2f", "펜", 19.99);    // "내 펜은 19.99달러"를 반환한다. 
# Raku sprintf "내 %s 비용은 \$2f", "펜", 19.99; # 반환 "  가격은 $19.99", 1.fmt("%04d"), # 반환 "0001" 
# 파이썬의 예 "나의 %s 비용이 들다%.2f" % ("펜", 19.99);                # "내 펜은 19.99달러" 반환 "나의 {0} 비용이 들다{1:.2f}".형식을 갖추다("펜", 19.99);        # "내 펜은 19.99달러" 반환 
#Python 3.6+의 예 펜으로 쓰다 = "펜" f"나의 {펜으로 쓰다} 비용. {19.99}"                                          #반환 "내 펜값 19.99" 
; 구성표 예 (형식을 갖추다 "내 ~a는 $1,2F 정도" "펜" 19.99)           ; "내 펜의 가격은 19.99달러"를 반환한다. 
/* PL/I */ put string(some_string) 편집의 예('My ', '펜', 'costs', 19.99)(a,a,a,p'$$V.99')/* 반환 "내 펜 가격은 $19.99" */ 

불평등

두 문자열이 같지 않은지 테스트한다. #Equality를 참조하십시오.

포맷 언어들
string1 ne string2, or string1 NE string2 ALGOL 68 – 참고: 연산자 "ne"는 말 그대로 굵은 글꼴로 되어 있다.
string1 /= string2 ALGOL 68, 아다, 에를랑, 포트란, 하스켈
string1 <> string2 베이직, VB, VB.NET, Pascal, Object Pascal (Delphi), OCaml, PHP, Seed7, Standard ML, F#, COBOL, 코브라, 파이톤 2 (사용되지 않음)
string1 # string2 BASIC(일부 구현)
string1 ne string2 , 라쿠
(string<> string1 string2) 스키마(SRFI 13)
(string/= string1 string2) 커먼 리스프
(string/= string1 string2) ISLISP
(not= string1 string2) 클로저
string1 != string2 C++(STL), C#, Go, JavaScript(비슷하지 않음), PHP(비슷하지 않음), Python, Ruby, Rust,[10] Swift, D, Mathematica
string1 !== string2 자바스크립트, PHP
string1 \= string2 렉시
string1 ¬= string2 PL/I
test string1 != string2, or
[ string1 != string2 ]
본 셸
string1 -ne string2, or
-not [string]::Equals(string1, string2)
Windows PowerShell
string1 ~= string2 루아, 스몰토크
string1string2 APL
string1.ne(string2) [10]
// C#의 예 "안녕" != "세계"    // true 반환 
' Visual Basic의 예 "안녕" <> "세계"    true를 반환하다 
;;; Clojure의 예 (not= "안녕" "세계")  ; true 
# 펄 5의 예 '여보세요'  '세계'      # 돌아온다 1 
# 라쿠의 예 '여보세요'  '세계'      # 참으로 돌아온다 
# Windows PowerShell의 예 "안녕" -ne "세계"   # 참으로 돌아온다 

색인을 달다

보다 #찾기

색인의

보다 #찾기

선동하다

보다 #찾기

선동하다

보다 #신드

합류하다

정의 join(separator, list_of_strings) 구분 기호로 조인된 문자열 목록을 반환함
설명 각 하위 문자열 사이에 구분 문자열을 사용하여 문자열 목록을 새 문자열로 결합하십시오. 스플릿 반대.
관련 단거리 경주
포맷 언어들
std.string.join(array_of_strings, separator) D
string:join(list_of_strings, separator) 얼랑
join(separator, list_of_strings) , PHP, 라쿠
implode(separator, array_of_strings) PHP
separator.join(sequence_of_strings) 파이톤, 스위프트 1.x
array_of_strings.join(separator) 루비, 자바스크립트, 라쿠, 러스트[23]
(string-join array_of_strings separator) 스키마(SRFI 13)
(format nil "~{~a~^separator~}" array_of_strings) 커먼 리스프
(clojure.string/join separator list_of_strings)
(apply str (interpose separator list_of_strings))
클로저
strings.Join(array_of_strings, separator) 가다
join(array_of_strings, separator) 씨드7
String.concat separator list_of_strings OCAML
String.concatWith separator list_of_strings 표준 ML
Data.List.intercalate separator list_of_strings 하스켈(GHC 6.8+)
Join(array_of_strings, separator) VB
String.Join(separator, array_of_strings) VB .NET, C#, F#
String.join(separator, array_of_strings) 자바 8+
&{$OFS=$separator; "$array_of_strings"}, or
array_of_strings -join separator
Windows PowerShell
[array_of_strings componentsJoinedByString:separator] 목표-C (NSString * 오직
table.concat(table_of_strings, separator) 루아
{ String streamContents: [ :stream collectionOfAnything asStringOn: stream delimiter: separator ]
collectionOfAnything joinUsing: separator
스몰토크 (스퀘이크, 파로)
array_of_strings.join(separator«, final_separator») 코브라
sequence_of_strings.joinWithSeparator(separator) 스위프트 2.x
1↓∊separatorlist_of_strings APL
// C#의 예 .가입하다("-", {"a", "b", "c"})  // "a-b-c" 
"Smalltalk의 예" #('a' 'b' 'c') 조인사용: '-'      "a-b-c" 
# 펄 5의 예 합류하다( '-', ('a', 'b', 'c'));       # 'a-b-c' 
# 라쿠 <a b c>.join('-') 예; # 'a-b-c' 
# 파이썬의 예 "-".합류하다(["a", "b", "c"])          # 'a-b-c' 
# 루비의 예 ["a", "b", "c"].합류하다("-")          # 'a-b-c' 
; 구성표 예 (중고품인 (srfi srfi-13)) (현악기의 '("a" "b" "c") "-")   ; "a-b-c" 

의 마지막 색인.

보다 #신드

남겨진

정의 left(string,n) 문자열을 반환하다
설명 문자열의 왼쪽 n 부분을 반환한다. n이 문자열 길이보다 클 경우 대부분의 구현은 전체 문자열을 반환한다(예외가 있음 - 코드 예 참조). UTF-8, UTF-16 또는 Shift-JIS와 같은 가변 길이 인코딩의 경우 잘못된 문자열을 피하기 위해 끝에 있는 문자열 위치를 제거해야 할 수 있다는 점에 유의하십시오.
포맷 언어들
string (string'First .. string'First + n - 1) 에이다
substr(string, 0, n) AWK(변경 문자열), , PHP, 라쿠
LEFT$(string,n) 기본, VB
left(string,n) VB, FreeBASIC, Ingres, Pick Basic
strncpy(string2, string, n) C 표준 라이브러리
string.substr(0,n) C++(STL), 라쿠
[string substringToIndex:n] 목표-C (NSString * 오직
(apply str (take n string)) 클로저
string[0 .. n] D[24]
string:substr(string, start, length) 얼랑
(subseq string 0 n) 커먼 리스프
string[:n] 코브라, , 파이톤
left(string,n «,padchar») 렉스, 얼랑
string[0, n]
string[0..n - 1]
루비
string[1, n] 기본 선택
string[ .. n] 씨드7
string.Substring(0,n) VB .NET, C#, 윈도우즈 PowerShell, F#
leftstr(string, n) 파스칼, 오브젝트 파스칼 (델피)
copy (string,1,n) 터보 파스칼
string.substring(0,n) 자바,[25] 자바스크립트
(string-take string n) 스키마(SRFI 13)
take n string 하스켈
String.extract (string, n, NONE) 표준 ML
String.sub string 0 n OCAML[26]
string.[..n] F#
string.sub(string, 1, n)
(string):sub(1, n)
루아
string first: n 스몰토크 (스퀘이크, 파로)
string(:n) 포트란
StringTake[string, n] 매스매티카[27]
string («FUNCTION» LENGTH(string) - n:n) 코볼
string.substring(0, n) 코브라
nstring. APL
string[0..n]
string[..n]
string.get(0..n)
string.get(..n)
[28]
# 라쿠의 예시 "여보세요, 저기!"서브스트(0, 6), #이(가) "Hello" 
/* Rexx */의 예 남겨진("abcde", 3)         /* "contract" 반환 */ 남겨진("abcde", 8)         /* returns " */" 남겨진("abcde", 8, "*")    /* "contde***" */ 
; 구성표 예제 (중고품인 (srfi srfi-13)) (끈 테이크 "abcde", 3) ; "result"를 반환한다.  (끈 테이크 "abcde", 8) ; 오류 
'   비주얼 기본 왼쪽("샌드로기디", 3)   '  돌아온다 "산"  왼쪽("샌드로기디", 100) '  돌아온다 "샌드로기디" 


보다 #길이


길이

정의 length(string) 정수 번호를 반환하다
설명 문자열의 길이(null terminator 또는 문자열의 내부 구조 정보를 계산하지 않음)를 반환함 빈 문자열은 0의 길이를 반환한다.
포맷 돌아온다 언어들
string'Length 에이다
UPB string 알골 68
length(string) Ingres, Perl 5, Pascal, Object Pascal(델피), Rexx, Seed7, SQL, PL/I
len(string) BASIC, FreeBASIC, Python, Go, Pick Basic
length(string), string:len(string) 얼랑
Len(string) VB, 픽 베이직
string.Length UTF-16 코드 단위 VB .NET, C#, 윈도우즈 PowerShell, F#
chars(string)
string.chars
문자 수(NFG) 라쿠
codes(string)
string.codes
유니코드 코드 포인트 수 라쿠
string.size OR string.length 바이트[29] 루비
strlen(string) 바이트 수 C, PHP
string.length() C++(STL)
string.length 코브라, D, 자바스크립트
string.length() UTF-16 코드 단위 자바
(string-length string) 계략
(length string) Common Lisp, ISLISP
(count string) 클로저
String.length string OCAML
size string 표준 ML
length string 유니코드 코드 포인트 수 하스켈
string.length UTF-16 코드 단위 수 목표-C (NSString * 오직
string.characters.count 문자 수 스위프트(2.x)
count(string) 문자 수 스위프트(1.2)
countElements(string) 문자 수 스위프트(1.0–1.1)
string.len(string)
(string):len()
#string
루아
string size 스몰토크
LEN(string), or LEN_TRIM(string) 포트란
StringLength[string] 매스매티카
«FUNCTION» LENGTH(string) 또는

«FUNCTION» BYTE-LENGTH(string)

각각 문자 수 및 바이트 수 코볼
string length string 문자 수를 나타내는 십진법 문자열 Tcl
string APL
string.len() 바이트 수 [30]
string.chars().count() 유니코드 코드 포인트 수 [31]
// C#의 예 "안녕".길이;      // 반환 5 "".길이;           // 0 반환 
#   얼랑 끈을 매다:("안녕"). % 반품 5 끈을 매다:("").      % 반환 0 
# Perl 5의 예 길이("안녕");     # 돌아온다 5 길이("");          # 리턴스 0 
# 라쿠 " examples examples🏳"의 예, chars "🏳️🌈"; chars "🏳️🌈"; # 둘 다 1 "🏳️🌈"코드반환하고, 코드 "🏳️🌈"; # 둘 다 4 ".chars "; # 둘 다 0"; code "; # 둘 다 0"을 반환한다. 
' Visual Basic의 예 ("안녕")         ' 5를 반환하다 ("")              '이 반환 0 
//목표-C의 예시 [@"안녕" 길이]   //message 5 [@"" 길이]   //message 0 
-- 루아의 예 ("안녕"):() - 반품 5 #"" -- 반환 0 

위치를 알아내다

보다 #찾기


소문자

정의 lowercase(string) 문자열을 반환하다
설명 문자열을 소문자로 반환한다.
포맷 언어들
LCase(string) VB
lcase(string) 프리베이직
lc(string) , 라쿠
string.lc 라쿠
tolower(char) C[32]
std.string.toLower(string) D
transform(string.begin(), string.end(), result.begin(), ::tolower)[33] C++[34]
lowercase(string) 객체 Pascal(델피)
strtolower(string) PHP
lower(string) 씨드7
echo "string" tr 'A-Z' 'a-z' 유닉스
string.lower() 파이톤
downcase(string) 기본 선택
string.downcase 루비[35]
strings.ToLower(string) 가다
(string-downcase string) 스키마(R6RS), 공통 리스프
(lower-case string) 클로저
String.lowercase string OCAML
String.map Char.toLower string 표준 ML
map Char.toLower string 하스켈
string.toLowerCase() 자바, 자바스크립트
to_lower(string) 얼랑
string.ToLower() VB .NET, C#, 윈도우즈 PowerShell, F#
string.lowercaseString 목표-C (NSString * 전용), Swift(건국)
string.lower(string)
(string):lower()
루아
string asLowercase 스몰토크
LOWER(string) SQL
lowercase(string) PL/I[8]
ToLowerCase[string] 매스매티카
«FUNCTION» LOWER-CASE(string) 코볼
string.toLower 코브라
string tolower string Tcl
string.to_lowercase() [36]
// C#의 예 "위키는 빠르다는 뜻인가?".토로우();        // "위키는 빠르다는 뜻?" 
; 구성표 예 (중고품인 (srfi srfi-13)) (문자열-다운케이스 "위키는 빠르다는 뜻인가?") ; "wiki는 빠르다는 뜻인가?" 
/* C의 예 */ #include <ctype.h> #include <stdio.h> 인트로 본래의(공허하게 하다) {     마를 뜨다 끈을 매다[] = "위키는 빠르다는 뜻인가?";     인트로 i;     을 위해 (i = 0; i < 의 크기(끈을 매다) - 1; ++i) {         /* 제자리에 있는 문자를 하나씩 변환 */          끈을 매다[i] = 하류로 하다(끈을 매다[i]);     }     놓다(끈을 매다);                       /* "위키는 빠르다는 뜻인가?" */     돌아오다 0; } 
# 라쿠의 예 "위키는 빠르다는?".lc; # "위키는 빠르다는?"  


중앙의

보다 #오링


칸막이를 치다

정의 < 문자열>.csulation(sub-string)은 구분자 앞에 하위 문자열을, 구분자 뒤에 하위 문자열을, 구분자 뒤에 하위 문자열은 구분자 뒤에 위치시킨다.
설명 지정된 문자열을 구분 기호로 분할하고 함께 원본이 되는 세 개의 하위 문자열을 반환한다.
포맷 언어들 평.
string.partition(separator) 파이톤, 루비(1.9+)
lists:partition(pred, string) 얼랑
split /(separator)/, string, 2 펄 5
split separator, string, 2
string.split( separator, 2 )
라쿠 구분 기호가 정규 표현식일 필요는 없음
# 파이썬의 예 "스팸에그 스팸 및 햄".칸막이를 치다('스팸')   #('스팸알', '스팸', '스팸과 햄') "스팸에그 스팸 및 햄".칸막이를 치다('X')      #('스팸 알 스팸 스팸 및 햄', "", "") 
# 펄 5 / 라쿠의 예 갈라지다 /(스팸)/, '스팸에그 스팸과 햄' ,2;   #('스팸 계란 ', '스팸', '스팸과 햄'; 갈라지다 /(X)/, '스팸에그 스팸과 햄' ,2;      #('스팸플릿 알 스팸 및 햄'; 


대체하다

정의 replace(string, find, replace) 문자열을 반환하다
설명 바꿀 검색 발생이 변경된 문자열을 반환한다.
포맷 언어들
changestr(find, string, replace) 렉시
std.string.replace(string, find, replace) D
Replace(string, find, replace) VB
replace(string, find, replace) 씨드7
change(string, find, replace) 기본 선택
string.Replace(find, replace) C#, F#, VB.네트
str_replace(find, replace, string) PHP
re:replace(string, find, replace, «{return, list}») 얼랑
string.replace(find, replace) 코브라, 자바(1.5+), 파이톤, 러스트[37]
string.replaceAll(find_regex, replace)[38] 자바
string.gsub(find, replace) 루비
string =~ s/find_regex/replace/g[38] 펄 5
string.subst(find, replace, :g) 라쿠
string.replace(find, replace, "g") [39] or
string.replace(/find_regex/g, replace)[38]
자바스크립트
echo "string" sed 's/find_regex/replace/g'[38] 유닉스
string.replace(find, replace), or
string -replace find_regex, replace[38]
Windows PowerShell
Str.global_replace (Str.regexp_string find) replace string OCAML
[string stringByReplacingOccurrencesOfString:find withString:replace] 목표-C (NSString * 오직
string.stringByReplacingOccurrencesOfString(find, withString:replace) 스위프트(건국)
string.gsub(string, find, replace)
(string):gsub(find, replace)
루아
string copyReplaceAll: find with: replace 스몰토크 (스퀘이크, 파로)
string map {find replace} string Tcl
StringReplace[string, find -> replace] 매스매티카
strings.Replace(string, find, replace, -1) 가다
INSPECT string REPLACING ALL/LEADING/FIRST find BY replace 코볼
find_regex ⎕R replace_regexstring APL
// C#의 예 "off".대체하다("f", "jump");     // "ejumpjumpjumpjumpjump" 반환 "블라".대체하다("z", "Y");           // "블라" 반환 
// Java의 예 "off".대체하다("f", "jump");     // "ejumpjumpjumpjumpjump" 반환 "off".모두 바꾸기("f*", "jump"); // "ejump" 반환 
// 라쿠 "effffff".subst("f", "jump", :g)의 예:#은 "ejumpjumpjump".blah.("z", "y", :g); #는 "blah"를 반환한다. 
' Visual Basic의 예 대체하다("off", "f", "jump")     가 "ejumpjumpjumpjumpjump"를 반환함 대체하다("블라", "z", "Y")           는 "blah"를 반환한다. 
# Windows PowerShell의 예 "off" -sness "f", "jump"      # "ejumpjumpjumpjumpjump" 반환 "off" -sness "f*", "jump"     # "ejump" 반환 

역행의

정의 reverse(string)
설명 문자열의 문자 순서를 반대로 한다.
포맷 언어들
reverse string 5, 하스켈
flip string
string.flip
라쿠
lists:reverse(string) 얼랑
strrev(string) PHP
string[::-1] 파이톤
(string-reverse string) 스키마(SRFI 13)
(reverse string) 커먼 리스프
string.reverse Ruby, D(끈 수정)
new StringBuilder(string).reverse().toString() 자바
std::reverse(string.begin(), string.end()); C++ (std::string only, 문자열 수정)
StrReverse(string) VB
string.Reverse().ToString() VB .NET, C#
implode (rev (explode string)) 표준 ML
string.split("").reverse().join("") 자바스크립트
string.reverse(string)
(string):reverse()
루아
string reverse 스몰토크
StringReverse[string] 매스매티카
reverse(string) PL/I
«FUNCTION» REVERSE(string) 코볼
string.toCharArray.toList.reversed.join() 코브라
String(string.characters.reverse()) 스위프트(2.x)
String(reverse(string)) 스위프트(1.2)
string reverse string Tcl
string APL
string.chars().rev().collect::<String>() [40]
"Smalltalk의 예" '여보세요' 뒤바뀐             "는 '올레'를 반환한다." 
# 펄 5의 예 역행의 "안녕"              # '올레' 돌아온다 
# 라쿠 "안녕"의 예.# "올레"를 반환한다. 
# 파이썬의 예 "안녕"[::-1]                # '올레' 돌아온다 
; 구성표 예 (중고품인 (srfi srfi-13)) (끈 역행의 "안녕")     ; "올레" 반환 

라핀드

정의 rfind(string,substring) 정수를 반환하다
설명 문자열에서 하위 문자열의 마지막 발생 시작 위치를 반환한다. 이러한 루틴의 대부분을 찾을 수 없는 경우, 잘못된 인덱스 값 -1은 인덱스가 0 기반인 경우, 0은 1 기반인 경우 - 또는 일부 값은 Boolean FALSE로 해석된다.
관련 선동하다
포맷 언어들 찾을 수 없는 경우
InStrRev(«startposstring,substring) VB 0을 반환하다
instrrev(«startposstring,substring) 프리베이직 0을 반환하다
rindex(string,substring«,startpos») 펄 5 반품 -1
rindex(string,substring«,startpos»)
string.rindex(substring«,startpos»)
라쿠 닐을 돌려주다
strrpos(string,substring«,startpos») PHP FALSE를 반환하다
string.rfind(substring«,startpos») C++(STL) 반환 std::string::npos
std.string.rfind(string, substring) D 반품 -1
string.rfind(substring«,startpos«, endpos»») 파이톤 반품 -1
string.rindex(substring«,startpos«, endpos»») ValueError 상승
rpos(string, substring«,startpos») 씨드7 0을 반환하다
string.rindex(substring«,startpos») 루비 영을 내리다
strings.LastIndex(string, substring) 가다 반품 -1
string.lastIndexOf(substring«,startpos») 자바, 자바스크립트 반품 -1
string.LastIndexOf(substring«,startpos«, charcount»») VB .NET, C#, 윈도우즈 PowerShell, F# 반품 -1
(search substring string :from-end t) 커먼 리스프 NIL을 반환하다
[string rangeOfString:substring options:NSBackwardsSearch].location 목표-C (NSString * 오직 NSNotFound 반환
Str.search_backward (Str.regexp_string substring) string (Str.length string - 1) OCAML 상승 없음_found
string.match(string, '.*()'..substring)
string:match('.*()'..substring)
루아 영을 내리다
Ada.Strings.Unbounded.Index(Source => string, Pattern => substring,
Going => Ada.Strings.Backward)
에이다 0을 반환하다
string.lastIndexOf(substring«,startpos«, charcount»») 코브라 반품 -1
string lastIndexOfString:substring 스몰토크 0을 반환하다
string last substring string startpos Tcl 반품 -1
(⌽<\⌽substring⍷'string')⍳1 APL 반품 -1
string.rfind(substring) [41] 답례품
; Common Lisp의 예 (샅샅이 뒤지다 "e" "헬로 메이트" :끝부터 t)     ; 9를 반환한다. (샅샅이 뒤지다 "z" "단어" :끝부터 t)           ; NIL 반환 
// C#의 예 "헬로 메이트".LastIndexOf("e");           // 9를 반환함 "헬로 메이트".LastIndexOf("e", 4);        // 반환 1 "단어".LastIndexOf("z");                 // 반환 -1 
# Perl 5의 예 r인덱스("헬로 메이트", "e");               # 9 돌아온다 r인덱스("헬로 메이트", "e", 4);            # 돌아온다 1 r인덱스("단어", "z");                     # 반품 -1 
# 라쿠 "Hello mate".rindex("e") 예; # 9 "Hello mate".rindex("e", 4); # returns 1 "word".rindex('z'); # returns Nil 
' Visual Basic의 예 InStrRev("헬로 메이트", "e")              ' 10을 반환하다 InStrRev(5, "헬로 메이트", "e")           ' 반환 2 InStrRev("단어", "z")                    '이 반환 0 


맞다

정의 right(string,n) 문자열을 반환하다
설명 문자열의 오른쪽 n 부분을 반환한다. n이 문자열 길이보다 클 경우 대부분의 구현은 전체 문자열을 반환한다(예외가 있음 - 코드 예 참조).
포맷 언어들
string (string'Last - n + 1 .. string'Last) 에이다
Right(string,n) VB
RIGHT$(string,n) 기본
right(string,n) FreeBASIC, Ingres, Pick Basic
strcpy(string2, string+n) (n은 문자열 길이보다 클 수 없음) C
string.Substring(string.Length()-n) C#
string[len(string)-n:] 가다
string.substring(string.length()-n) 자바
string.slice(-n) 자바스크립트[42]
right(string,n «,padchar») 렉스, 얼랑
substr(string,-n) 펄 5, PHP
substr(string,*-n)
string.substr(*-n)
라쿠
string[-n:] 코브라, 파이톤
string[n] 기본 선택
(string-take-right string n) 스키마(SRFI 13)
string[-n..-1] 루비
string[$-n .. $] D[43]
String.sub string (String.length string - n) n OCAML[26]
string.sub(string, -n)
(string):sub(-n)
루아
string last: n 스몰토크 (스퀘이크, 파로)
StringTake[string, -n] 매스매티카[27]
string (1:n) 코볼
¯nstring. APL
string[n..]
string.get(n..)
[28]
// Java의 예제, 오른쪽 4자 추출  발을 동동 구르다 = "카도어"; 발을 동동 구르다.하위 문자열(발을 동동 구르다.길이()-4); // '도어'를 반환 
# 라쿠 "abcde".substr(*-3)의 예, # "cde" "abcde".substr(*-8); # "out of range" 오류 반환 
/* Rexx */의 예 맞다("abcde", 3)              /* "cde" 반환 */ 맞다("abcde", 8)              /* returns " */" 맞다("abcde", 8, "*")         /* "****de" 반환 */ 
; 구성표 예제 (중고품인 (srfi srfi-13)) (스트링 테이크 우 "abcde", 3) ; "cde"를 반환  (스트링 테이크 우 "abcde", 8) ; 오류 
' Visual Basic의 예 맞다("샌드로기디", 3)        는 "idi"를 반환한다.  맞다("샌드로기디", 100)      ' '산드로기디'를 반환한다. 


분단

정의 < 문자열>.rpartition(분리자) 문자열 내에서 오른쪽에서 왼쪽으로 구분자를 검색한 다음 구분자 앞에 하위 문자열을, 구분자 뒤에 하위 문자열을 반환한다.
설명 지정된 문자열을 오른쪽 가장자리 구분 기호로 분할하고 함께 원본으로 만드는 세 개의 하위 문자열을 반환한다.
포맷 언어들
string.rpartition(separator) 파이톤, 루비
# 파이썬의 예 "스팸에그 스팸 및 햄".분단('스팸')  ###('스팸 계란 스팸 ', '스팸', ', 햄') "스팸에그 스팸 및 햄".분단('X')     ###(",","," 스팸 스팸 및 햄") 

얇게 썰다

보다 #오링


갈라지다

정의 <string>.dll(string[, limit])은 분리기에서 문자열을 분할하며, 선택적으로 제한된 수의 하위 문자열까지만 분할한다.
설명 지정된 문자열을 구분자(열 자체)의 발생으로 분할하고 하위 문자열의 목록(또는 배열)을 반환하십시오. 한계가 주어진 경우 – 1개의 구분자를 읽은 후 문자열의 나머지 부분은 구분자가 있는지 여부에 관계없이 마지막 하위 문자열로 만들어진다. 체계와 얼랑 구현은 유사하지만 몇 가지 면에서 다르다. 자바스크립트는 또한 자른다는 점에서 차이가 있으며, 나머지 문자열은 마지막 요소에 넣지 않는다. 여기서 예를 참조하십시오. 코브라 시행은 공백이 될 것이다. 가입 반대.
포맷 언어들
split(/separator/, string«, limit») 펄 5
split(separator, string«, limit»)
string.split(separator, «limit»)
라쿠
explode(separator, string«, limit») PHP
string.split(separator«, limit-1») 파이톤
string.split(separator«, limit») 자바스크립트, 자바, 루비
string:tokens(string, sepchars) 얼랑
strings.Split(string, separator)
strings.SplitN(string, separator, limit)
가다
(string-tokenize string« charset« start« end»»») 스키마(SRFI 13)
Split(string, sepchars«, limit») VB
string.Split(sepchars«, limit«, options»») VB .NET, C#, F#
string -split separator«, limit«, options»» Windows PowerShell
Str.split (Str.regexp_string separator) string OCAML
std.string.split(string, separator) D
[string componentsSeparatedByString:separator] 목표-C (NSString * 오직
string.componentsSeparatedByString(separator) 스위프트(건국)
TStringList.Delimiter, TStringList.DelimitedText 객체 파스칼
StringSplit[string, separator«, limit»] 매스매티카
string.split«(sepchars«, limit«, options»»)» 코브라
split string separator Tcl
(separatorstring)⊂string 또는 separator(≠⊆⊢)string APL2 및 Dynalog APL 16.0에서 각각 사용 APL
string.split(separator)

string.split(limit, separator)

[44]
// C#의 예 "1998, defg,ijk".분할(',');                 // {"message", "defg", "ijk"} "abc,defg;ijk".분할(',', ';');            // {"message", "defg", "ijk"} 
Erlang의 % 예제 끈을 매다:토큰("1998;defg;ijk", ";").        % ["message", "defg", "ijk"] 
// Java의 예 "1998, defg,ijk".갈라지다(",");                 // {"message", "defg", "ijk"} "abc,defg;ijk".갈라지다(", ;");               // {"message", "defg", "ijk"} 
{ Pascal }의 예 시합을 하다   l스트링스: TStringList;   l스트: 끈을 매다; 시작되다   l스트링스 := TStringList.만들다;   l스트링스.구분 기호 := ',';   l스트링스.구분된텍스트 := '1998, defg,ijk';   l스트 := l스트링스.줄들[0]; // '잘못'   l스트 := l스트링스.줄들[1]; // 'defgh'   l스트 := l스트링스.줄들[2]; // 'ijk' 종지부를 찍다; 
# Perl 5의 예 갈라지다(/스팸/, '스팸에그 스팸과 햄'); #('스팸알 ', ', ', ', 햄') 갈라지다(/X/, '스팸에그 스팸과 햄');    #('스팸플릿 알 스팸·햄' 
# 라쿠 '스팸에그 스팸  햄'.split(/spam/); #(스팸에그와 햄) 분할(/X/, '스팸에그 스팸 및 햄'); #(스팸에그 스팸햄)의 예 


단거리 경주

보다 #포맷

옷을 벗기다

보다 #trim


발을 동동 구르다

보다 #Compare(정수 결과)


하위 문자열

정의 substring(string, startpos, endpos) 문자열을 반환하다
substr(string, startpos, numChars) 문자열을 반환하다
설명 시작점끝점에서 시작하거나 길이가 numChar시작점에서 시작하는 문자열의 하위 문자열을 반환한다. 시작점 너머에 numChars 문자 수가 적을 경우 결과 문자열이 잘린다. Endpos는 하위 문자열의 마지막 문자 뒤에 있는 지수를 나타낸다. UTF-8, UTF-16 또는 Shift-JIS와 같은 가변 길이 인코딩의 경우 잘못된 문자열을 피하기 위해 끝에 있는 문자열 위치를 제거해야 할 수 있다는 점에 유의하십시오.
포맷 언어들
string[startpos:endpos] ALGOL 68(기본지수 변경)
string (startpos .. endpos) 에이다(기본지수 변경)
Mid(string, startpos, numChars) VB
mid(string, startpos, numChars) 프리베이직
string[startpos+(⍳numChars)-~⎕IO] APL
MID$(string, startpos, numChars) 기본
substr(string, startpos, numChars) AWK(변경 문자열), Perl 5, [45][46]PHP[45][46]
substr(string, startpos, numChars)
string.substr(startpos, numChars)
라쿠[47][48]
substr(string, startpos «,numChars, padChar») 렉시
string[startpos:endpos] 코브라, 파이톤,[45][49]
string[startpos, numChars] 기본 선택
string[startpos, numChars]
string[startpos .. endpos-1]
string[startpos ... endpos]
루비[45][49]
string[startpos .. endpos]
string[startpos len numChars]
씨드7
string.slice(startpos«, endpos») 자바스크립트[45][49]
string.substr(startpos«, numChars») C++(STL), JavaScript
string.Substring(startpos, numChars) VB .NET, C#, 윈도우즈 PowerShell, F#
string.substring(startpos«, endpos») 자바, 자바스크립트
copy(string, startpos, numChars) 객체 Pascal(델피)
(substring string startpos endpos) 계략
(subseq string startpos endpos) 커먼 리스프
(subseq string startpos endpos) ISLISP
String.sub string startpos numChars OCAML
substring (string, startpos, numChars) 표준 ML
string:sub_string(string, startpos, endpos)
string:substr(string, startpos, numChars)
얼랑
strncpy(result, string + startpos, numChars); C
string[startpos .. endpos+1] D
take numChars $ drop startpos string 하스켈
[string substringWithRange:NSMakeRange(startpos, numChars)] 목표-C (NSString * 오직
string.[startpos..endpos] F#
string.sub(string, startpos, endpos)
(string):sub(startpos, endpos)
루아[45][49]
string copyFrom: startpos to: endpos 스몰토크
string(startpos:endpos) 포트란
SUBSTRING(string FROM startpos «FOR numChars») SQL
StringTake[string, {startpos, endpos}] 매스매티카[45][49]
string (startpos:numChars) 코볼
문자열 범위 문자열 시작단부 Tcl
string[startpos..endpos]
string.get(startpos..endpos)
[28]
// C#의 예 "abc".서브스크린(1, 1):      // "b" 반환 "abc".서브스크린(1, 2);      // "BC" 반환 "abc".서브스크린(1, 6);      // 오류 
;;; Common Lisp의 예 (서브섹 "abc" 1 2)          ; "b"를 반환함 (서브섹 "abc" 2)            ; "c"를 반환한다. 
Erlang의 % 예 끈을 매다:기판을 달다("abc", 2, 1). % 반환 "b" 끈을 매다:기판을 달다("abc", 2).    %는 "bc"를 반환 
# Perl 5의 예 기판을 달다("abc", 1, 1);       # "b" 반환 기판을 달다("abc", 1);          # "bc" 반환 
# Raku "abc".substr(1, 1); # returns "bc".substr(1); # returns "bc" 
# 파이썬의 예 "abc"[1:2]                 # "b" 반환 "abc"[1:3]                 # "bc" 반환 
/* Rexx */의 예 기판을 달다("abc", 2, 1)         /* "b" 반환 */ 기판을 달다("abc", 2)            /* "BC" 반환 */ 기판을 달다("abc", 2, 6)         /* "BC " */"를 반환함 기판을 달다("abc", 2, 6, "*")    /* "bc********" */ 


대문자

정의 uppercase(string) 문자열을 반환하다
설명 대문자로 문자열을 반환한다.
포맷 언어들
UCase(string) VB
ucase(string) 프리베이직
toupper(string) AWK(변경 문자열)
uc(string) , 라쿠
string.uc 라쿠
toupper(char) C(한 문자로 작동)
for(size_t i = 0, len = strlen(string); i< len; i++) string[i] = toupper(string[i]);
for (char *c = string; *c != '\0'; c++) *c = toupper(*c);
C(문자 배열/문자 배열)
std.string.toUpper(string) D
transform(string.begin(), string.end(), result.begin(), toupper)[33] C++[50]
uppercase(string) 객체 Pascal(델피)
upcase(char) 개체 Pascal(Delphi) (한 문자로 작동)
strtoupper(string) PHP
upper(string) 씨드7
echo "string" tr 'a-z' 'A-Z' 유닉스
translate(string)또는

UPPER variables또는
PARSE UPPER VAR SrcVar DstVar

렉시
string.upper() 파이톤
upcase(string) 기본 선택
string.upcase 루비[35]
strings.ToUpper(string) 가다
(string-upcase string) 스키마, 커먼 리스프
String.uppercase string OCAML
String.map Char.toUpper string 표준 ML
map Char.toUpper string 하스켈
string.toUpperCase() 자바, 자바스크립트
to_upper(string) 얼랑
string.ToUpper() VB .NET, C#, 윈도우즈 PowerShell, F#
string.uppercaseString 목표-C (NSString * 전용), Swift(건국)
string.upper(string)
(string):upper()
루아
string asUppercase 스몰토크
UPPER(string) SQL
ToUpperCase[string] 매스매티카
«FUNCTION» UPPER-CASE(string) 코볼
string.toUpper 코브라
string toupper string Tcl
string.to_uppercase() [51]
// C#의 예 "위키는 빠르다는 뜻인가?".토우퍼();      // "WIKI SHANCE FAST?" 
# 펄 5의 예 uc("위키는 빠르다는 뜻인가?");             # "WIKI SHANGE FAST?" 
# 라쿠 uc("위키는 빠르다는 뜻?";; # "WIKI MANS FAST?" "WIKI MANS FAST?".uc; # "WIKI MEANS FAST?" 
/* Rexx */번역("위키는 빠르다는 뜻인가?") /* "WIKI MEANS FAST?" */* 예시 #2 */ A='이 예시 입니다.' UPER A /* "이것은 예시입니다." */* 예시 #3 */ A='번역함수를 사용하는 '위퍼' 상부 VAR A Z /* Z="번역 함수를 이용한 상부" */ 
; 구성표 예 (중고품인 (srfi srfi-13)) (스트링업케이스 "위키는 빠르다는 뜻인가?") ; "WIKI MERS Fast?" 
' Visual Basic의 예 UCase("위키는 빠르다는 뜻인가?")          'WIKI SHANGE FAST?' 

다듬다

trim 또는 문자열의 시작, 끝 또는 시작과 끝에서 공백을 제거하는 데 사용된다.

사용 예 언어들
String.Trim([chars]) C#, VB.NET, 윈도우즈 PowerShell
string.strip(); D
(.trim string) 클로저
sequence [ predicate? ] trim 요인
(string-trim '(#\Space #\Tab #\Newline) string) 커먼 리스프
(string-trim string) 계략
string.trim() Java, JavaScript(1.8.1+, Firefox 3.5+), 러스트[52]
Trim(String) 파스칼,[53] QBasic, Visual Basic, Delphi
string.strip() 파이톤
strings.Trim(string, chars) 가다
LTRIM(RTRIM(String)) Oracle SQL, T-SQL
strip(string [,option, char]) REXX
string:strip(string [,option, char]) 얼랑
string.strip or string.lstrip or string.rstrip 루비
string.trim 라쿠
trim(string) PHP, 라쿠
[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] 코코아를 이용한 목표-C
string withBlanksTrimmed
string withoutSpaces
string withoutSeparators
스몰토크 (스퀘이크, 파로)
스몰토크
strip(string) SAS
string trim $string Tcl
TRIM(string) or TRIM(ADJUSTL(string)) 포트란
TRIM(string) SQL
TRIM(string) or LTrim(string) or RTrim(String) 콜드퓨전
String.trim string OCaml 4+

다른 언어

트림 기능이 내장되지 않은 언어에서는 대개 동일한 작업을 수행하는 사용자 정의 함수를 만드는 것이 간단하다.

APL

APL은 정규식을 직접 사용할 수 있다.

다듬다'^ +  +
                
⎕R''

또는 선행 및 후행 공백을 걸러내는 부울 마스크를 결합한 기능적 접근방식:

다듬다{/⍨(\⌽∨\∘)' '} 

또는 선행 공백을 두 번 후진 및 제거:

다듬다{(\' ')/}2 

AWK

AWK에서는 정규식을 사용하여 다음과 같이 자를 수 있다.

 이트림(v) = gsub(/^[ \t]+/, "", v)  알트림(v) = gsub(/[ \t]+$/, "", v)  다듬다(v)  = 이트림(v); 알트림(v) 

또는:

 기능을 하다 이트림(s) { 후보선수(/^[ \t]+/, "", s); 돌아오다 s }  기능을 하다 알트림(s) { 후보선수(/[ \t]+$/, "", s); 돌아오다 s }  기능을 하다 다듬다(s)  { 돌아오다 알트림(이트림(s)); } 

C/C++

C 또는 C++에는 표준 트림 기능이 없다. C에 사용할 수 있는 문자열 라이브러리의[54] 대부분은 트리밍을 구현하는 코드 또는 효율적인 구현을 현저하게 용이하게 하는 기능을 포함하고 있다. 일부 비표준 C 라이브러리에서는 이 기능을 EatWhitespace라고도 부른다.

C에서 프로그래머는 종종 ltrim과 rtrim을 결합하여 트림을 구현한다.

#include < 현악기>h> #include <ctype.h>  공허하게 하다 알트림(마를 뜨다 *발을 동동 구르다) {   마를 뜨다 *s;   s = 발을 동동 구르다 + 끈적끈적하게 하다(발을 동동 구르다);   하는 동안에 (--s >= 발을 동동 구르다) {     만일 (!이스페이스(*s)) 부숴뜨리다;     *s = 0;   } }  공허하게 하다 이트림(마를 뜨다 *발을 동동 구르다) {   size_t n;   n = 0;   하는 동안에 (발을 동동 구르다[n] != '\0' && 이스페이스((서명이 없는 마를 뜨다) 발을 동동 구르다[n])) {     n++;   }   미모브(발을 동동 구르다, 발을 동동 구르다 + n, 끈적끈적하게 하다(발을 동동 구르다) - n + 1); }  공허하게 하다 다듬다(마를 뜨다 *발을 동동 구르다) {   알트림(발을 동동 구르다);   이트림(발을 동동 구르다); } 

오픈 소스 C++ 라이브러리 부스트에는 표준 트림 모델을 포함하여 몇 가지 트림 변형 모델이 있다.[55]

#include << boost/algorithm/끈/trim>hpp> 다듬은 = 힘을 내다::알고리즘.::trim_copy("끈"); 

부스트의 함수를 단순하게 지정하면 trim 입력 시퀀스가 인플레이스 내에서 수정되고 결과를 반환하지 않는다.

다른 오픈 소스 C++ 라이브러리 Qt에는 표준 트림 모델을 포함한 몇 가지 트림 변형 모델이 있다.[56]

#include <QString> 다듬은 = s.다듬은(); 

리눅스 커널에는 스트립 기능도 포함되어 있다. strstrip(), 2.6.18-rc1 이후 문자열 "in place"를 자른다. 2.6.33-rc1 이후, 커널은 strim() 대신에 strstrip() 잘못된 경고를 피하기 [57]위해

하스켈

Haskell의 트림 알고리즘:

 수입하다 데이터.차 (isSpace)  다듬다      ::  ->   다듬다      = f . f     , where f = 역행의 . while isSpace 

f는 앞의 공백을 없애고 문자열을 반대로 한다. f는 다시 자신의 출력에 적용된다. 형식 서명(두 번째 줄)은 선택 사항이라는 점에 유의하십시오.

J

J의 트림 알고리즘은 다음과 같은 기능적 설명이다.

     다듬다 =. #~ [: (+./\ *. +./\.) ' '&~: 

즉, 필터(#~공백이 아닌 문자의 경우().' '&~:선행() 사이+./\) 및 ()*.) 후행().+./\.) 공백.

자바스크립트

자바스크립트 1.8.1(Firefox 3.5 이상), ECMAScript 5 표준에는 내장 트림 기능이 있다. 이전 버전에서는 다음과 같이 String 객체의 프로토타입에 추가할 수 있다.

.원형을 뜨다.다듬다 = 기능을 하다() {   돌아오다 이것의.대체하다(/^\s+/g, "").대체하다(/\s+$/g, ""); }; 

Perl 5는 트림 기능이 내장되어 있지 않다. 그러나 기능성은 보통 정규식을 사용하여 달성된다.

예:

달러 끈 =~ s/^\s+//;            # 선행 공백 제거 달러 끈 =~ s/\s+$//;            # 후행 공백 제거 

또는:

달러 끈 =~ s/^\s+ \s+ \s+$/g ;     # 선행 및 후행 공백 모두 제거 

이러한 예제는 원래 변수의 값을 수정한다. $string.

Perl is Strip에도 사용 가능LTSpace in String::Strip CPAN 출신이다.

그러나, 줄의 끝에서 공백을 떼어내는 데 일반적으로 사용되는 두 가지 기능이 있다. chomp 그리고 chop:

  • chop 문자열에서 마지막 문자를 제거하고 반환하십시오.
  • chomp 문자열에서 후행 뉴라인 문자를 제거한다. (뉴라인을 구성하는 것은 $INPUT_RECORD_SELECTORNER에 의존한다.

다가오는 펄의 자매어인 라쿠에서 현에는 음이 있다. trim 방법

예:

$string = $string.properties; # 선행  후행 공백 $string .= trim; # 동일한 것 

Tcl

Tcl string 명령어에는 다음 세 가지 관련 하위 명령이 있다. trim, trimright 그리고 trimleft. 이러한 각 명령에 대해 제거할 문자 집합을 나타내는 문자열(기본값은 공백, 탭, 새 줄, 캐리지 리턴) 등 추가 인수를 지정할 수 있다.

모음 트리밍 예제:

set string onomatopoeia set trim [string trim $string aeiou];# result is nomatop set r_set [string trimriprim 오른쪽 $string aeiou];# result is nomatopeia. 

XSLT

XSLT는 함수를 포함한다. normalize-space(string) 공백 시퀀스(라인 구분 포함)를 단일 공백으로 교체하는 것 외에 선행 및 후행 공백 스트립.

예:

<xsl:variablevariable 이름을 붙이다'trimmed'>    <xsl:value-of> 선택하다='공백(끈)'/> </xsl:variable> 

XSLT 2.0은 정규식을 포함하며 문자열 트리밍을 수행하는 또 다른 메커니즘을 제공한다.

트리밍을 위한 또 다른 XSLT 기술은 XPath 2.0을 활용하는 것이다. substring() 기능을 하다

참조

  1. ^ a b c d e 인덱스는 음수가 될 수 있으며, 이는 문자열 끝 전의 위치 수를 나타낸다.
  2. ^ Rust에서 코드 포인트에 대해 반복하는 메서드와 반복기에 대한 메서드는 반복기에서 0으로 인덱싱된 n번째 값을 반환하며, 또는 .
  3. ^ 인덱스는 음수일 수 없으며, N은 문자열 끝 전의 위치 수를 나타내는 *-N을 사용하십시오.
  4. ^ C++에서 문자열의 과부하된 메서드는 객체를 반환한다(그렇지 않은 경우). std::weak_ordering): less, equal (로 간주됨) equivalent) 또는 greater.
  5. ^ 더 적은 반환, 같음 또는 더 큰 반환
  6. ^ LT, EQ 또는 GT 반환
  7. ^ 돌아온다 .TRUE. 또는 .FALSE.. 이러한 함수는 ASCII 결합 시퀀스를 기반으로 한다.
  8. ^ a b IBM 확장.
  9. ^ 러스트에서 문자열의 메서드는 다음을 반환한다. Less, Equal또는 Greater.
  10. ^ a b c d e f 인 러스트(In Rust) 운영자 == 그리고 != 그리고 방법들 eq, ne 특성 및 운영자에 의해 구현됨 <, >, <=, >= 그리고 방법들 lt, gt, le, ge 특성에 의해 구현된다.
  11. ^ 연산자는 컴파일러의 기본 결합 시퀀스를 사용한다.
  12. ^ 결과를 저장할 충분한 공간이 있어야 하는 수정
  13. ^ 인 러스트 + 운영자는 특성에 의해 구현된다.
  14. ^ 방법을 보라.
  15. ^ 방법을 보라.
  16. ^ a b 스타트포스는 IBM의 확장이다.
  17. ^ a b 방법을 보라.
  18. ^ startpos IBM의 확장.
  19. ^ "scan in Fortran Wiki". Fortranwiki.org. 2009-04-30. Retrieved 2013-08-18.
  20. ^ "verify in Fortran Wiki". Fortranwiki.org. 2012-05-03. Retrieved 2013-08-18.
  21. ^ formatstring 컴파일할 때 고정된 문자여야 올바른 유형을 가질 수 있다.
  22. ^ 참조하라, 라는 이름으로 사용될 수 있도록 러스트 서곡에 의해 수입된다. format.
  23. ^ 방법을 보라.
  24. ^ n이 문자열 길이보다 큰 경우 디버그 모드에서는 ArrayRangeException이, 릴리스 모드에서는 동작이 지정되지 않는다.
  25. ^ n이 문자열 길이보다 큰 경우, Java는 IndexOutOfBoundsException을 던진다.
  26. ^ a b n이 문자열 길이보다 큰 경우, Invalid_argument 발생
  27. ^ a b n이 문자열 길이보다 큰 경우 "StringTake::take:"라는 메시지를 던지십시오.
  28. ^ a b c 러스트에서 문자열은 바이트 오프셋의 관점에서 인덱싱되며 인덱스가 범위를 벗어났거나 유효하지 않은 UTF-8로 귀결될 경우 런타임 패닉이 발생한다 A &str (string reference)는 다음을 포함한 다양한 유형의 범위에 의해 인덱싱될 수 있다.0..n), RangeFrom (n..() 및 ()..n) 왜냐하면 그들은 모두 그 특성을 str 인덱싱되는 유형. 그 방법은 비패닉 인덱싱 방법이다. 그것은 인덱싱이 당황할 경우 되돌아온다.
  29. ^ 루비 유니코드 지원 부족
  30. ^ 방법을 보라.
  31. ^ 러스트에서는 코드 포인트에 대해 반복하는 방법과 반복기에 대한 방법이 반복기를 소비하고 반복기에 포함된 원소의 총 수를 반환한다.
  32. ^ 한 캐릭터로 작동한다.
  33. ^ a b transform 함수가 에 존재함 std:: 네임스페이스 다음 항목을 포함해야 함 <algorithm> 사용할 헤더 파일.tolower 그리고 toupper 함수는 글로벌 네임스페이스에 있으며, 이(가) <ctype.h> 헤더 파일.std::tolower 그리고 std::toupper 이름이 과부하되어 전할 수 없다. std::transform 예를 들어, 과부하된 모호성을 해결하기 위한 깁스 없이. std::transform(string.begin(), string.end(), result.begin(), (int (*)(int))std::tolower);
  34. ^ std::string 오직, 결과는 적어도 , 그 자체일 수도 있고 아닐 수도 있는 문자열 안에 저장된다.
  35. ^ a b 루비처럼 ASCII 문자만 유니코드를 지원하지 않음
  36. ^ 방법을 보라.
  37. ^ 방법을 보라.
  38. ^ a b c d e 이 구성에서 "찾기" 문자열은 정규식으로 해석된다. 어떤 문자는 규칙적인 표현에서 특별한 의미를 갖는다. 문자 그대로 문자열을 찾으려면 특수 문자를 인용해야 한다.
  39. ^ 세 번째 매개 변수가 비표준임
  40. ^ 녹, 공백이:코드 포인트 이상:chars 법 예제, std::iter::.Iterator::가역 iterators에 회전 속도 법(std::iter::.DoubleEndedIterator):: 쳐진 반복, 그리고 std::iter를 만듭니다.Iterator::수집 방식과 반복의 요소에서 컬렉션을(구급차는 String이turbofish 구문과 지정됩니다)를 만드는 반복기를 소비한다.
  41. ^ 방법을 보라.
  42. ^ "Annotated ES5". Es5.github.com. Retrieved 2013-08-18.
  43. ^ n이 문자열 길이보다 큰 경우 디버그 모드에서는 ArrayRangeException이 발생되고 릴리스 모드에서는 지정되지 않은 동작이 발생함
  44. ^ 및 방법을 참조하십시오.
  45. ^ a b c d e f g startpos 음수일 수 있으며, 이는 문자열 끝 전에 해당 개수의 위치를 시작함을 나타낸다.
  46. ^ a b numChars 음수일 수 있으며, 이는 문자열의 끝 전에 해당 개수의 위치를 끝내는 것을 의미한다.
  47. ^ startpos 음수일 수 없으며 * - 시작 포스를 사용하여 문자열이 끝나기 전에 해당 플레이스 수를 표시하십시오.
  48. ^ numChars 음수일 수 없으며 * - numChars를 사용하여 문자열이 끝나기 전에 해당 위치 수를 종료하십시오.
  49. ^ a b c d e endpos 음수일 수 있으며, 이는 문자열의 끝 전에 해당 개수의 위치를 끝내는 것을 의미한다.
  50. ^ std::string 오직, 결과는 적어도 문자열만큼 길고 문자열 그 자체일 수도 있고 아닐 수도 있는 문자열 결과에 저장된다.
  51. ^ 러스트에서 메소드는 유니코드 규칙에 따라 대문자로 변경된 소문자로 새로 할당된 문자를 반환한다.
  52. ^ Rust에서 메소드는 원본에 대한 참조를 반환한다. &str.
  53. ^ "Trim – GNU Pascal priručnik". Gnu-pascal.de. Retrieved 2013-08-24.
  54. ^ "String library comparison". And.org. Retrieved 2013-08-24.
  55. ^ "Usage – 1.54.0". Boost.org. 2013-05-22. Retrieved 2013-08-24.
  56. ^ [1] 2009년 8월 2일 웨이백머신보관
  57. ^ dankamongmen. "sprezzos-kernel-packaging/changelog at master · dankamongmen/sprezzos-kernel-packaging · GitHub". Github.com. Retrieved 2016-05-29.