다음과 같은 데이터 세트가 있습니다. desired.result와 같이 2 개의 1과 1 사이의 모든 점을 1로 바꾸고 싶습니다. 기왕 R
에 regex
으로이 작업을 수행 할 수 있습니까? 두 문자 사이의 간격을 정규식으로 채우는 방법
regexpr("^1\\.1$", my.data$my.string, perl = TRUE)
이 Characters between two exact characters
어떤 제안 주셔서 감사합니다 C#에서 솔루션입니다.
my.data <- read.table(text='
my.string state
................1...............1. A
......1..........................1 A
.............1.....2.............. B
......1.................1...2..... B
....1....2........................ B
1...2............................. C
..........1....................1.. C
.1............................1... C
.................1...........1.... C
........1....2.................... C
......1........................1.. C
....1....1...2.................... D
......1....................1...... D
.................1...2............ D
', header = TRUE, na.strings = 'NA', stringsAsFactors = FALSE)
desired.result <- read.table(text='
my.string state
................11111111111111111. A
......1111111111111111111111111111 A
.............1.....2.............. B
......1111111111111111111...2..... B
....1....2........................ B
1...2............................. C
..........1111111111111111111111.. C
.111111111111111111111111111111... C
.................1111111111111.... C
........1....2.................... C
......11111111111111111111111111.. C
....111111...2.................... D
......1111111111111111111111...... D
.................1...2............ D
', header = TRUE, na.strings = 'NA', stringsAsFactors = FALSE)
이 그 것 패턴이었다
시각화 여기 정규 표현식은 debuggex 시각화 anwyays이 직접적으로 이해 될 수있을만큼 간단하지만 여기에있다 'regexpr' :''1 \\. * 1 "'에 더 유용한 결과를주었습니다. '^'와'$'는 1이 문자열의 양쪽 끝에있을 경우에만 일치를 허용합니다 (한정 기호가 없으면 1 개의 마침표 만있는 문자열과 만 일치합니다). –
4 개 (또는 more) 1은 같은 줄에 있습니다 (즉, .. 1 ... 1 ... 1 ... 1.)? '..11111 ... 11111..' 또는'..1111111111111..'? –