첫 번째 공백 다음에 오는 모든 단어를 문자열에서 가져 오는 구문은 무엇입니까? 예를 들어, bobs nice house. 결과는 따옴표없이 "멋진 집"이어야합니다.첫 번째 공백 다음에 오는 모든 것을 얻는 정규식
([^\s]+)
나는 세 단어로 나에게 모든 단어를 제공합니다.
,[\s\S]*$ >
컴파일되지 않음.
첫 번째 공백 다음에 오는 모든 단어를 문자열에서 가져 오는 구문은 무엇입니까? 예를 들어, bobs nice house. 결과는 따옴표없이 "멋진 집"이어야합니다.첫 번째 공백 다음에 오는 모든 것을 얻는 정규식
([^\s]+)
나는 세 단어로 나에게 모든 단어를 제공합니다.
,[\s\S]*$ >
컴파일되지 않음.
는 나는 이런 식으로 일을해야한다고 생각 :
는[^ ]* (.*)
그것은 하나의 공간보다 공간이 아닌 0 개 이상의 요소를 허용하고 그 공간 뒤에 오는 어떤 선택합니다.
C#을 사용
var input = "bobs nice house";
var afterSpace = Regex.Match(input, "[^ ]* (.*)").Groups[1].Value;
afterSpace
는 "nice house"
입니다.
[^ ]*(.*)
에 결과 문자열 변경 식뿐만 아니라 어떤 정규식 솔루션
사실var afterSpace = input.Substring(input.IndexOf(' '));
을 첫 번째 공간을 얻을, 당신은 그것을 위해 정규식을 사용할 필요가 없습니다 방법. 이런 식으로 String.Split()
메서드를 사용해야합니다.
string s = "bobs nice house";
string[] s1 = s.Split(' ');
for(int i = 1; i < s1.Length; i++)
Console.WriteLine(s1[i]);
출력됩니다.
nice
house
여기는 DEMO
입니다.
나는 가능한 가장 짧은 코드를 찾고있었습니다. 다음은 그 일을했다. 고마워요
\s(.*)
공백이 아닌'\ s'가 모든 공백과 일치한다는 것을 알고있는 한 – Patashu
는 문제를 해결하므로 대답을 승인 된 것으로 표시하십시오. –
이것은 입력 문자열 – torres
와 동일하게 사용하십시오. – MarcinJuraszek
[^] * (. *)이 코드를 제안했습니다. – torres