>백엔드 개발 >C++ >.NET에서 처음 나타나는 문자열만 바꾸는 방법은 무엇입니까?

.NET에서 처음 나타나는 문자열만 바꾸는 방법은 무엇입니까?

DDD
DDD원래의
2025-01-19 06:09:13407검색

How to Replace Only the First Occurrence of a String in .NET?

.NET에서 처음 나타나는 문자열을 찾아 바꾸기

도전:

주어진 텍스트에서 처음 나타나는 문자열을 바꾸는 것은 프로그래밍에서 일반적인 작업입니다. 이 문서에서는 .NET에서 이를 효율적으로 수행하는 방법을 살펴봅니다.

해결책:

.NET에서 처음 나타나는 문자열을 바꾸려면 다음 방법을 사용할 수 있습니다.

<code class="language-csharp">string ReplaceFirst(string text, string search, string replace)
{
  int pos = text.IndexOf(search);
  if (pos < 0) return text;
  return text.Substring(0, pos) + replace + text.Substring(pos + search.Length);
}</code>

이 방법은 원본 텍스트, 검색할 문자열, 대체 문자열이라는 세 가지 매개변수를 사용합니다. 먼저 IndexOf을 사용하여 텍스트에서 검색 문자열이 처음 나타나는 인덱스를 찾습니다. 항목이 발견되지 않으면(즉, pos가 음수인 경우) 원본 텍스트가 변경되지 않고 반환됩니다.

다음으로, 이 방법은 검색 문자열이 처음 발생하기 전의 하위 문자열(인덱스 0부터 pos까지), 대체 문자열, 검색 문자열 뒤의 하위 문자열(인덱스 pos search.Length부터 텍스트 끝까지)을 연결하는 방식으로 작동합니다. ) 새 문자열을 구성합니다.

예:

다음 예를 고려해 보세요.

<code class="language-csharp">string str = "The brown brown fox jumps over the lazy dog";

str = ReplaceFirst(str, "brown", "quick");</code>

이 코드가 실행되면 str 값은 "빠른 갈색 여우가 게으른 개를 뛰어넘습니다"가 됩니다. 처음 나타나는 "brown"이 "quick"으로 대체되었습니다.

추가 참고 사항:

  • Regex.Replace(String, String, Int32) 메서드도 이 작업을 수행할 수 있지만 여기에 제시된 사용자 지정 메서드보다 계산 비용이 더 많이 들 수 있습니다.
  • 잦은 문자열 교체 작업의 경우 이 메서드를 String 클래스의 재사용 가능한 확장 메서드로 확장하는 것이 좋습니다.

위 내용은 .NET에서 처음 나타나는 문자열만 바꾸는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.