如何从字符串中递归删除字符?

时间:2018-12-10 14:37:34

标签: java recursion

如何使用RECURSION从字符串中删除目标字符?

我知道它开始于:

public static String removeChar(String str, char target) {
    if (str.length() == 0) {
        return str;
    } else {
        if (str.charAt(0) == target) {
            return removeChar(/*what goes in here?*/)
        }
        return removeChar(/*what goes in here?*/)
    }
}

谢谢!!

3 个答案:

答案 0 :(得分:2)

这个想法是,如果第一个字符等于target字符,则只需返回removeChar()应用于其余String的结果(即{{1 }}(不带第一个字符),则删除第一个字符。

另一方面,如果第一个字符不等于String字符,则返回一个target,从原始的第一个字符开始,最后以应用String的结果结束在removeChar()的其余部分上。

String

答案 1 :(得分:0)

您可以在else-block中使用以下代码:

  if(str.charAt(0)==目标){
    返回removeChar(str.substring(1),target);
}
返回charAt(0)+ removeChar(str.substring(1),目标);
 

但是我认为这里不需要使用递归,您可以使用

  str.replace(target,'');
 

答案 2 :(得分:0)

检查第一个出现的char的索引并将其从该位置删除:

seq

将打印:

/*  Scheduled Action Hook */
function check_event_end_date() {

  global $post;

  $args = array( 
    'post_type' => 'post', 
    'post_status' => 'publish',
     'category__in' => array(33), /*Upcoming Events Category ID*/
    'posts_per_page'  => -1,
  );

  $listings = get_posts( $args );
    foreach($listings as $post) : setup_postdata($post);

  $today = date( 'Ymd' );
  $expire = get_field( 'event_end_date', false, false );

        if ( $expire > $today ) :
            $post_categories="36"; /*Passed Events Category ID*/
            $append=false;
            wp_set_post_categories( $post_ID, $post_categories, $append );
        endif;  
    endforeach;

}

// Schedule Cron Job Event

if ( ! wp_next_scheduled( 'event_end_date_cron_job' ) ) {
    wp_schedule_event( date( 'Ymd' ), 'daily', 'event_end_date_cron_job' );
}
add_action( 'event_end_date_cron_job', 'check_event_end_date' );