所以我有一个没有标准格式的电话号码列表,因此它们可以是(123)-456-7890,1234567890,456890,456-7890。
我想查看我的电话号码列表并将其格式化为 123-456-7890 456-7890
到目前为止我在R中所拥有的是
targetdir
但我收到错误 - 有什么想法吗?
我希望输出的长度为10的电话号码格式为123-456-7890,对于长度为7的电话号码,格式为123-4567。对于无效条目,应删除这些条目。
谢谢!!!
答案 0 :(得分:4)
以Eric的答案为基础并尝试将所有部分组合在一起,我认为这就是我要做的事情。
关键步骤是
我尝试了一些不同的方法,但这个方法似乎效率最高。
/**
* @Route("/edit/{id}", name="edit_object")
* @ParamConverter("object", class="ObjectBundle:Object")
* @Template()
*/
public function editAction(Object $object, Request $request)
{
$form = $this->createForm(new ObjectType(), $object, array(
'action' => $this->generateUrl('edit_object',['id' => $object->getId()]),
'method' => 'POST'));
$form->handleRequest($request);
if ($form->isValid() && $form->isSubmitted()) {
$em = $this->getDoctrine()->getManager();
$em->persist($object);
$em->flush();
return $this->render('@Object/Object/list.html.twig', array(
'object' => $object));
}
return array('collection'=>$collection, 'form' => $form->createView());
}
答案 1 :(得分:1)
像这样,
p <- c("(123)-456-7890", "1234567890", "456890 ", "456-7890", " (123)-4567890")
p
# >[1] "(123)-456-7890" "1234567890" "456890 " "456-7890"
# >[5] " (123)-4567890"
p <- trimws(gsub("[[:punct:]]", "", p))
# > # p <- gsub("[-,),(]", "", p) ) # altrenative, but does not remove whitespace!
p
# >[1] "1234567890" "1234567890" "456890" "4567890" "1234567890"
p[!nchar(p) %in% c(10)] <- NA
p
# >[1] "1234567890" "1234567890" NA NA "1234567890"
p <- gsub("(^\\d{3})(\\d{3})(\\d{4}$)", "\\1-\\2-\\3", p)
p
# >[1] "123-456-7890" "123-456-7890" NA NA "123-456-7890"
p <- p[!is.na(p)] # to remove NA's
p
# >[1] "123-456-7890" "123-456-7890" "123-456-7890"