는
Regex에서, 어떻게 모든 단어 사이에 하나의 여분의 공간을 추가합니까? 나는이 문장이
"This is my new program"
내가 모든 단어 후
"This is my new program"
즉, 여분의 공간으로 변환하고 싶은 말은.
.net에서 Regex를 사용하여 어떻게하면됩니까?
일반 사항입니다. 단어 사이에 공백의 수가 4 인 경우 예를 들어 말해보십시오.
는
Regex에서, 어떻게 모든 단어 사이에 하나의 여분의 공간을 추가합니까? 나는이 문장이
"This is my new program"
내가 모든 단어 후
"This is my new program"
즉, 여분의 공간으로 변환하고 싶은 말은.
.net에서 Regex를 사용하여 어떻게하면됩니까?
일반 사항입니다. 단어 사이에 공백의 수가 4 인 경우 예를 들어 말해보십시오.
string newString = Regex.Replace(originalString, @"\s+", " $0");
이유 Regex
? 문자열 자체에 Replace
메서드를 사용하지 않는 이유는 무엇입니까?
yourString = Regex.Replace(yourString, "\ {1}", " ")
이렇게하면 하나의 공백 만있는 각 공백을 두 공백으로 바꿉니다.
이것은 모든 인스턴스를 2 칸 씩 대체하기 때문에 나에게 적합하지 않습니다. 나는 그 단어들 사이에 단지 1 여분의 공간을 추가하고 싶다! – GuruC
이 값을 사용할 수 있습니다. 나는 당신이 손대지 않은 채로 남기고 싶은 다른 공간이 없다면 @LukeH 솔루션이 더 좋다고 생각한다.
resultString = Regex.Replace(subjectString, @"(\b\w+\b)(?!$)", "$1 ");
설명 :
"
( # Match the regular expression below and capture its match into backreference number 1
\b # Assert position at a word boundary
\w # Match a single character that is a “word character” (letters, digits, etc.)
+ # Between one and unlimited times, as many times as possible, giving back as needed (greedy)
\b # Assert position at a word boundary
)
(?! # Assert that it is impossible to match the regex below starting at this position (negative lookahead)
$ # Assert position at the end of the string (or before the line break at the end of the string, if any)
)
"
즉, 사용, 정규 표현식없이 그것을 할 훨씬 더 쉽게되지 않을 것 ['하려면 string.replace ("", "")'] (HTTP : //msdn.microsoft.com/en-us/library/fk49wtc1.aspx) –
@Shaw - 문제는 단어 사이의 공백 수가 2 또는 3 또는 4 또는 n 일 수 있습니다. 나는 항상 1 여분의 공간을 추가하고 싶다. 예를 들어 말하자면 : 4 개의 공백이 있다면 5 개로 만들고 싶습니다. – GuruC
실제로는 단어 사이에 여분의 공간이 있습니다. 그 후에 있었다면 "프로그램"다음에 공백이 있었어야했고, 이전에 있었다면 "This"앞에 공백이 있어야했습니다. – Vatine