"Light Purple"및 "DarkRed"로 저장된 "Light Purple"및 "Dark Red"와 같은 단어가 있습니다. "LightPurple"과 같은 단어의 대문자를 확인하고 "Light"과 "Purple"이라는 단어 사이에 공백을 넣어 "Light Purple"이라는 단어를 형성하려면 어떻게해야합니까? 도움두 단어 사이에 공백 추가
답변
대문자 옆에 소문자가있을 때마다 공백을 추가 할 수 있습니다. 이 같은
뭔가 :
"LightPurple".replace(/([a-z])([A-Z])/, '$1 $2')
UPDATE : 당신이 2 개 이상의 단어를 가지고 있다면, 당신은 그들 모두를 일치는 g
플래그를 사용해야합니다.
"LightPurpleCar".replace(/([a-z])([A-Z])/g, '$1 $2')
업데이트 2 : CSVFile
같은 단어를 분할하려는 경우, 당신은 대신 정규식을 사용할 필요가 있습니다
"CSVFilesAreCool".replace(/([a-zA-Z])([A-Z])([a-z])/g, '$1 $2$3')
@Hazmat, 여전히이 정규 표현식은 내 "CCV 코드"에 대해 "CCV 코드"와 관련해서는 필요하지 않으므로 RE가이 문제를 해결하기 위해 좀 더 조정할 필요가 있다고 생각합니다. 그러나, 내 사용자 지정 자바 스크립트는 이러한 예제를 다룹니다. 나는 너의 바로 아래에 내 대답을 가지고있다. 추신 : 나는 당신의 대답을 투표했습니다 :) – KMX
@ KMX : 예, 정규식이 완벽하지는 않지만 OP의 경우 충분히 좋을 수 있습니다. –
@KMX : 업데이트를 시도했습니다. 그게 효과가있는 것처럼 보입니다. :) –
당신은 대문자의 문자열을 각 문자를 비교할 수 사전에
감사합니다.
function splitAtUpperCase(input){
var uppers = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
//start at 1 because 0 is always uppercase
for (var i=1; i<input.length; i++){
if (uppers.indexOf(input.charAt(i)) != -1){
//the uppercase letter is at i
return [input.substring(0,i),input.substring(i,input.length)];
}
}
}
출력은 첫 번째와 두 번째 단어가있는 배열입니다.
좋아, 내 경험을 공유. 이 언어는 다른 언어로도 구현되어 있습니다.
다음var camelCase = "LightPurple";
var tmp = camelCase[0];
for (i = 1; i < camelCase.length; i++)
{
var hasNextCap = false;
var hasPrevCap = false;
var charValue = camelCase.charCodeAt(i);
if (charValue > 64 && charValue < 91)
{
if (camelCase.length > i + 1)
{
var next_charValue = camelCase.charCodeAt(i + 1);
if (next_charValue > 64 && next_charValue < 91)
hasNextCap = true;
}
if (i - 1 > -1)
{
var prev_charValue = camelCase.charCodeAt(i - 1);
if (prev_charValue > 64 && prev_charValue < 91)
hasPrevCap = true;
}
if (i < camelCase.length-1 &&
(!(hasNextCap && hasPrevCap || hasPrevCap)
|| (hasPrevCap && !hasNextCap)))
tmp += " ";
}
tmp += camelCase[i];
}
가 demo입니다 : 당신이 시도 할 수 있도록 당신을 위해 난 그냥 예제를 통해 자바 스크립트 버전을 만들었습니다.
- 1. 두 행 사이에 공백 추가
- 2. interbase의 단어 사이에 공백 제거
- 3. 두 문자열 사이에 가변 공백 추가
- 4. 정확히 단어 사이에 공백 하나만 남겨두고 있습니까?
- 5. PDFBox에서 단어 내에 공백 추가
- 6. 단어 사이에 공백 하나만 허용하는 정규 표현식
- 7. 두 단어 사이에 공백 포함 자바 문 if() 문
- 8. 키보드는 단어 사이에 공백 하나만있는 알파벳을 사용합니다.
- 9. Nokogiri로 노드 사이에 공백 추가
- 10. Ruby에서 문자열 사이에 공백 추가
- 11. WordPress의 게시물 사이에 공백 추가
- 12. JFrame과 JPanel 사이에 공백 추가
- 13. 두 div 태그 사이에 공백
- 14. 비어있는 요소 사이에 단어 추가
- 15. 두 개의 링크 된 라벨 사이에 공백 추가
- 16. 두 개의 <input> 요소 사이에 기본 공백 추가
- 17. 셀 사이에 공백 삽입하기
- 18. VB.NET에서 문자열의 두 단어 사이에 텍스트가 있음
- 19. 크롬 단어 사이에 여분의 공백을 추가 하시겠습니까?
- 20. 부트 스트랩이 열 사이에 공백 추가
- 21. Matlab imagesc 출력의 셀 사이에 공백 추가
- 22. 이미지보기에서 이미지 사이에 검은 색 공백 추가
- 23. REGEX : 자바에서 대문자 사이에 단일 공백 추가
- 24. 목록보기에서 특정 행 사이에 공백 추가
- 25. 그룹 사이에 공백 추가 라디오 버튼
- 26. 트위터 배지로 각 트윗 사이에 공백 추가
- 27. Sed의 일치 항목 사이에 공백 추가
- 28. div 사이에 공백 적용
- 29. 문자 사이에 공백 삽입
- 30. 특정 두 단어 사이에 파이썬 변경 문자열
"LightPurple".replace (/ ([a-z]) /, '$ 1 $ 2')'? –
답변으로 추가해야합니다 @RocketHazmat;) – Simon
[** This **] (https://xkcd.com/208/)가 방금 발생했습니다. – andyb