C# 문자열 머리글 또는 문자열 제거

8221 단어
속성 입고 기능을 통해 Excel 속성 데이터를 도면층 요소에 가져옵니다. 여기서 Excel과 SDE 데이터베이스 데이터는 관련 필드가 있습니다. 관련 필드 값을 통해 속성 입고를 일치시킵니다.
실제 업무에서 센서스 데이터는 종종 일부 필드 값이 복잡하기 때문에 도면층에 쓸 때 사용자는 간소화할 수 있다. 예를 들어 하나의 요소 번호가 0532BH001이고 도면층에 기록될 수 있으며 BH001만 기록될 수 있기 때문에 도면층 요소와 Excel 파일 관련 필드의 값이 반드시 완전히 같지 않고 일정한 일치 관계가 있을 수 있다.
여기에는 복잡한 상황을 고려하지 않고 Excel에서 관련 필드 값은 요소 관련 필드 값에 접두사, 접두사 또는 접두사가 모두 존재하는 상황을 고려한다.
Excel을 기준으로 순환하기 때문에 필드 값을 구성한 후 도면층에서Query 작업을 통해 해당 요소를 찾을 수 있기 때문에 도면층 요소 관련 필드에서 필드 값을 추출한 다음 접두사를 연결하는 방식으로 판단 처리할 수 없고 Excel에서 관련 필드 값을 캡처하는 방식으로만 처리할 수 있습니다.
여기서 실제 상황에 따라 형식이 비교적 고정되어 접두사, 접두사 함수를 제거하면 다음과 같다.
   1: ///<summary>
   2: ///  
   3: ///</summary>
   4: ///<param name="val"> </param>
   5: ///<param name="str"> </param>
   6: ///<returns></returns>
   7: private string GetRemovePrefixString(string val, string str)
   8: {
   9:     string strRegex = @"^(" + str + ")";
  10:     return Regex.Replace(val, strRegex, "");
  11: }
  12: ///<summary>
  13: ///  
  14: ///</summary>
  15: ///<param name="val"> </param>
  16: ///<param name="str"> </param>
  17: ///<returns></returns>
  18: private string GetRemoveSuffixString(string val, string str)
  19: {
  20:     string strRegex = @"(" + str + ")" + "$";
  21:     return Regex.Replace(val, strRegex, "");
  22: }

확장, 문자열에 대한 요구가 엄격하지 않고 단순히 앞뒤 문자열만 캡처하면 다음과 같이 할 수 있습니다.
   1: ///<summary>
   2: ///  
   3: ///</summary>
   4: ///<param name="val"> </param>
   5: ///<param name="str"> </param>
   6: ///<param name="bAllStr"> 
   7: /// true 
   8: /// false </param>
   9: ///<returns></returns>
  10: private string GetString(string val, string str, bool bAllStr)
  11: {
  12:     return Regex.Replace(val, @"(^(" + str + ")" + (bAllStr ? "*" : "") + "|(" + str + ")" + (bAllStr ? "*" : "") + "$)", "");
  13: }

문자열이 아닌 단일 문자를 캡처하는 경우 TrimStart 또는 TrimEnd 함수를 사용하여 다음을 수행할 수 있습니다.
   1: /// <summary>
   2: ///  
   3: /// </summary>
   4: /// <param name="val"> </param>
   5: /// <param name="c"> </param>
   6: /// <returns></returns>
   7: private string GetString(string val, char c)
   8: {
   9:     return val.TrimStart(c).TrimEnd(c);
  10: }

좋은 웹페이지 즐겨찾기