홈>
다음과 같은 문자열을 작성하십시오 :
In C#: How do I add "Quotes" around string in a comma delimited list of strings?
그리고 그것을 다음으로 변환하십시오 :
in-c-how-do-i-add-quotes-around-string-in-a-comma-delimited-list-of-strings
요구 사항 :
- 각 단어를 대시로 구분하고 구두점을 모두 제거하십시오 (모든 단어가 공백으로 분리되는 것은 아닙니다).
- 함수는 최대 길이를 가지며 해당 최대 길이 미만의 모든 토큰을 가져옵니다. 예 :
ToSeoFriendly("hello world hello world", 14)
"hello-world"
를 반환 - 모든 단어가 소문자로 변환됩니다.
별도의 메모에 최소 길이가 있어야합니까?
- 답변 # 1
- 답변 # 2
다음 단계를 따릅니다.
<올>문자열을 소문자로 변환
원치 않는 문자를 하이픈으로 교체
여러 개의 하이픈을 하나의 하이픈으로 교체(preg_replace()
에는 필요하지 않음 함수 호출은 이미 여러 하이픈을 방지합니다)필요한 경우 시작과 끝에서 하이픈 제거
x 위치 끝에서 마지막 하이픈에서 끝까지 트림
따라서 모두 함수 (PHP)로 :
function generateUrlSlug($string, $maxlen=0) { $string = trim(preg_replace('/[^a-z0-9]+/', '-', strtolower($string)), '-'); if ($maxlen && strlen($string) > $maxlen) { $string = substr($string, 0, $maxlen); $pos = strrpos($string, '-'); if ($pos > 0) { $string = substr($string, 0, $pos); } } return $string; }
- 답변 # 3
C #
public string toFriendly(string subject) { subject = subject.Trim().ToLower(); subject = Regex.Replace(subject, @"\s+", "-"); subject = Regex.Replace(subject, @"[^A-Za-z0-9_-]", ""); return subject; }
- 답변 # 4
다음은 PHP 솔루션입니다 :
function make_uri($input, $max_length) { if (function_exists('iconv')) { $input = @iconv('UTF-8', 'ASCII//TRANSLIT', $input); } $lower = strtolower($input); $without_special = preg_replace_all('/[^a-z0-9 ]/', '', $input); $tokens = preg_split('/ +/', $without_special); $result = ''; for ($tokens as $token) { if (strlen($result.'-'.$token) > $max_length+1) { break; } $result .= '-'.$token; } return substr($result, 1); }
사용법 :
echo make_uri('In C#: How do I add "Quotes" around string in a ...', 500);
일반적인 소변을 필요로하지 않는 한, 크기가 작을 필요는 없습니다. 하지만 URL이 프록시 등에서 잘 작동하도록 최대 값을 지정해야합니다.
- 답변 # 5
더 나은 버전 :
function Slugify($string) { return strtolower(trim(preg_replace(array('~[^0-9a-z]~i', '~-+~'), '-', $string), '-')); }
관련 자료
- 문자열에 플래그 배열을 어떻게 생성합니까? (자바 스크립트)
- c++ - 길이가 앞에 붙은 바이트로 컴파일 타임 상수 문자열을 만드는 방법은 무엇입니까?
- javascript - 시간, 분, 날짜, 월 및 연도로 구성된 문자열에서 날짜 개체를 만드는 방법은 무엇입니까?
- python - 목록의 튜플에있는 요소에서 문자열을 만드는 방법
- 가능한 모든 변형 파이썬 문자열 만들기
- Rust에서 문자열 열거 형을 만들 수 있습니까?
- Javascript에서 특수 배열 문자열로 객체를 만들 수 있습니까?
- python - 해당 문자열이 나타나는 횟수에 대한 새 열 만들기
- 문자열 입력을 받고 그 문자열을 메서드로 적용하는 루비 함수를 만드시겠습니까?
- typescript - 문자열 리터럴이있는 객체를 생성 할 수있는 이유는 무엇입니까? 제네릭이 제자리에 있으면 불가능합니까?
- r - 모든 행에 특정 문자열이있는 새 열 만들기
- Oracle SQL 쿼리에서 일련 번호 문자열 만들기
- lua - 테이블 내부의 모든 것에 대한 문자열로 변수를 만들 가능성이 있습니까?
- shell - jq를 사용하여 문자열 변수를 인수로 사용하여 json 만들기
- Python에서 반복자에서 문자열을 만드는 방법은 무엇입니까?
- rust - 파일에서 문자열을 읽고, 분할하고, 하나의 문에서 Vec 을 생성하려면 어떻게해야합니까?
- R에 세 개의 문자열 범주가있는 새 열 만들기
- c# - 문자열 변수와 세 개의 int 변수를 보유하는 사전을 만드는 방법
- swift - 모든 값을 사전으로 가져오고 특정 형식으로 문자열을 만듭니다
- powershell - 프로그래밍 방식으로 Azure 함수에 대한 연결 문자열을 만들 수 있나요?
트렌드
- OpenCv의 폴더에서 여러 이미지 읽기 (python)
- 파이썬 셀레늄 모든 "href"속성 가져 오기
- html - 자바 스크립트 - 클릭 후 변경 버튼 텍스트 변경
- javascript - 현재 URL에서 특정 div 만 새로 고침/새로 고침
- JSP에 대한 클래스를 컴파일 할 수 없습니다
- JavaScript 변수를 HTML div에 '출력'하는 방법
- git commit - 자식 - 로컬 커밋 된 파일에 대한 변경을 취소하는 방법
- jquery - JavaScript로 현재 세션 값을 얻으시겠습니까?
- javascript - swiperjs에서 정지, 재생 버튼 추가
- python - 화면에서 찾은 요소를 찾을 수없는 경우 셀레늄
다음은 C #의 솔루션입니다