คำถามติดแท็ก stringr

2
เงื่อนไขตัวกรอง dplyr เพื่อแยกความแตกต่างระหว่างสัญลักษณ์ยูนิโค้ดและการแทนยูนิโค้ด
ฉันพยายามกรองคอลัมน์สัญลักษณ์โดยพิจารณาว่าเป็นของแบบฟอร์มหรือไม่ \uxxxx นี้เป็นเรื่องง่ายสายตา, ที่อยู่, ลักษณะบางอย่างเช่น$, ¢, £และอื่น ๆ ที่ชอบ\u058f, ,\u060b\u07fe แต่ฉันไม่สามารถคิดออกโดยใช้stringi/dplyr library(dplyr) library(stringi) df <- structure(list(Character = c("\\u0024", "\\u00A2", "\\u00A3", "\\u00A4", "\\u00A5", "\\u058F", "\\u060B", "\\u07FE", "\\u07FF", "\\u09F2", "\\u09F3", "\\u09FB", "\\u0AF1", "\\u0BF9", "\\u0E3F", "\\u17DB", "\\u20A0", "\\u20A1", "\\u20A2", "\\u20A3"), Symbol = c("$", "¢", "£", "¤", "¥", "\u058f", "\u060b", "\u07fe", "\u07ff", "৲", "৳", …
10 r  dplyr  stringr  stringi 

5
Regex เพื่อลบศูนย์นำหน้าใน R ยกเว้นว่าอักขระตัวสุดท้าย (หรือเท่านั้น) เป็นศูนย์
gsub("(?<![0-9])0+", "", c("005", "0AB", "000", "0"), perl = TRUE) #> [1] "5" "AB" "" "" gsub("(^|[^0-9])0+", "\\1", c("005", "0AB", "000", "0"), perl = TRUE) #> [1] "5" "AB" "" "" นิพจน์ทั่วไปด้านบนมาจากเธรด SO นี้ซึ่งอธิบายวิธีลบศูนย์นำหน้าทั้งหมดออกจากสตริงใน R เนื่องจากการแสดงออกปกตินี้ทั้ง "000" และ "0" จะถูกเปลี่ยนเป็น "" แต่ฉันต้องการลบศูนย์นำหน้าทั้งหมดออกจากสตริงอักขระยกเว้นกรณีที่อักขระสุดท้ายปรากฏเป็นศูนย์หรืออักขระเพียงตัวเดียวคือศูนย์ "005" would become "5" "0AB" would become "AB" "000" …
9 r  regex  string  gsub  stringr 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.